Swagger
Verwendung von Swagger für die Fehlersuche in Anwendungen
Das nächste Tool, das wir zum Testen und Debuggen unserer Anwendung verwenden können, ist Swagger. Wir haben es bereits kennengelernt; wie Sie sich erinnern, können Sie darin alle Endpunkte der zu entwickelnden Anwendung sehen, sie ausführen und das Ergebnis erhalten. Schauen wir uns dies nun genauer an.
Autorisierung in Swagger
Zunächst einmal sollten Sie sich daran erinnern, dass Middleware Token Auth standardmäßig aktiviert ist, was den Zugriff auf den Endpunkt für die meisten Endpunkte kontrolliert. Es verweigert den Zugriff für Benutzer, die nicht autorisiert wurden oder ihn sogar bestanden haben, aber nicht über die entsprechenden Zugriffsrechte verfügen (z. B. gehören sie zur Gruppe Users, und der Endpunkt ist ausschließlich für Admins bestimmt).
Das erforderliche Autorisierungs-Token kann über Developer Tools gefunden werden. Sie müssen sich nur bei der veröffentlichten Webanwendung anmelden und dann eine beliebige Anfrage erfüllen. Das Token wird in der Request Headers. Sie können es zum Beispiel auf dem Screenshot etwas weiter oben sehen, als wir eine GET Anfrage gestellt haben, um Daten über Länder zu erhalten.
Schauen wir uns an, wie man es direkt in Swagger. Suchen Sie dazu den Endpunkt, der für die Autorisierung zuständig ist (Auth Gruppe, POST /Auth/ Endpunkt) und klicken Sie auf die Schaltfläche "Try it out". Dieser Endpunkt benötigt zwei Parameter, Login und Password. Geben Sie diese an und klicken Sie auf Execute um die Anfrage zu senden. Übrigens kann es auch hier nützlich sein, die Developer Tools zu verwenden; Sie können sie für eine genauere Untersuchung der Anfrage und der Antwort öffnen.
Die Antwort enthält das erforderliche Token sowie detaillierte Informationen über den Benutzer und seine Sitzungen.
Sie sehen, dass sich die erhaltene Antwort nicht wesentlich von der unterscheidet, die wir bereits auf Developer Tools gesehen haben, Swagger hat den unbestreitbaren Vorteil, dass es möglich ist, beliebige Anfragen zu testen und Endpunkte mit den erforderlichen Parametern in einer praktischen Form zu starten. Doch bevor wir mit solchen Tests fortfahren, klicken wir auf Authorize und verwenden Sie das erhaltene Token, um die Autorisierung zu bestätigen.
Senden von Anfragen mit Swagger
Schicken wir nun eine Anfrage über Swagger um Daten über die erste Stadt mit mehr als 5 Millionen Einwohnern und dem Wort "World" in der Beschreibung abzurufen, die uns angezeigt wird. Dazu öffnen Sie den GET /city/ Endpunkt und geben Sie die erforderlichen Parameter ein:
- _limit = 1 (nur eine Stadt erforderlich)
- population_from = 5000000 (Bevölkerungswert sollte überprüft werden)
- _search_in = info (Suche nur im Feld info )
- _search = World (Suche nach dem Wort World)
Die erhaltene Antwort zeigt, dass die Anfrage korrekt ausgeführt wurde. Wir haben Informationen über eine solche Stadt erhalten (wir sehen, dass count = 3, was bedeutet, dass die Datenbank Informationen über drei geeignete Städte enthält) und keine Daten über das Land, in dem sie sich befindet (“country”: null), da die Abfrage keine Daten aus verwandten Tabellen präsentieren musste (falls erforderlich, war es sinnvoll, den _with Parameter).