Crash Course 101
10 moduły
5 Tygodnie

Swagger

Kliknij, aby skopiować

Używanie Swagger do rozwiązywania problemów z aplikacjami


Kolejne narzędzie, które możemy wykorzystać do testowania i debugowania naszej aplikacji to. Swagger. Zapoznaliśmy się z nim już wcześniej; jak pamiętasz, w nim możesz zobaczyć wszystkie punkty końcowe tworzonej aplikacji, uruchomić je i otrzymać wynik. Przyjrzyjmy się temu bardziej szczegółowo.

Autoryzacja w Swagger

Po pierwsze, pamiętaj, że Middleware Token Auth jest domyślnie włączony, co kontroluje dostęp do punktu końcowego dla większości punktów końcowych. Odmawia dostępu użytkownikom, którzy nie zostali autoryzowani lub nawet przeszli go, ale nie mają odpowiednich praw dostępu (na przykład należą do grupy Users, a endpoint jest przeznaczony wyłącznie dla Admins).

Niezbędny token autoryzacyjny można znaleźć korzystając ze strony Developer Tools. Wystarczy zalogować się do opublikowanej aplikacji internetowej, a następnie zrealizować dowolne żądanie. Token zostanie wykorzystany w Request Headers. Przykładowo, można go zobaczyć na zrzucie ekranu nieco wyżej w momencie, gdy wykonaliśmy GET aby uzyskać dane o krajach.

Zobaczmy, jak można go uzyskać bezpośrednio w Swagger. Aby to zrobić, znajdź endpoint, który jest odpowiedzialny za autoryzację (Auth group, POST /Auth/ endpoint) i kliknij przycisk "Try it out". Ten punkt końcowy przyjmuje dwa parametry, Login, i Password. Określ je i kliknij Execute , aby wysłać żądanie. Przy okazji, tutaj również może być przydatne użycie Developer Tools; możesz je otworzyć, aby bardziej szczegółowo zbadać żądanie i odpowiedź.


W odpowiedzi otrzymamy wymagany token, a także szczegółowe informacje o użytkowniku i jego sesji.


Widać, że otrzymana odpowiedź niewiele różni się od tej, którą już widzieliśmy na stronie Developer Tools. Jednocześnie, Swagger ma niezaprzeczalną zaletę polegającą na tym, że umożliwia testowanie dowolnych żądań i uruchamianie endpointów z potrzebnymi parametrami w wygodnej formie. Zanim jednak przejdziemy do takiego testowania, kliknijmy Authorize i wykorzystajmy otrzymany token do potwierdzenia autoryzacji.


Wysyłanie żądań przy użyciu Swagger

Teraz wyślijmy żądanie poprzez. Swagger aby uzyskać dane o pierwszym napotkanym mieście, którego populacja wynosi ponad 5 milionów ludzi, a w opisie znajduje się słowo "World". Aby to zrobić, otwórz GET /city/ endpoint i wypełnij wymagane parametry:

  • _limit = 1 (potrzebne jest tylko jedno miasto)
  • population_from = 5000000 (należy sprawdzić wartość populacji)
  • _search_in = info (wyszukiwanie tylko w polu info )
  • _search = World (szukamy słowa World)


Otrzymana odpowiedź świadczy o tym, że żądanie zostało wykonane poprawnie. Otrzymaliśmy informację o jednym takim mieście (widzimy, że. count = 3, co oznacza, że baza zawiera informacje o trzech odpowiednich miastach) i nie otrzymaliśmy danych o kraju, w którym się ono znajduje (“country”: null), ponieważ zapytanie nie musiało prezentować danych z powiązanych tabel (w razie potrzeby warto było użyć _with parametru).


Was this article helpful?
Nadal szukasz odpowiedzi?