Swagger
Swagger gebruiken voor het oplossen van problemen met toepassingen
De volgende tool die we kunnen gebruiken om onze applicatie te testen en te debuggen is Swagger. We hebben er al eerder kennis mee gemaakt; zoals u zich herinnert, kunt u daarin alle eindpunten van de ontwikkelde applicatie zien, ze uitvoeren en het resultaat krijgen. Laten we dit nader bekijken.
Autorisatie in Swagger
Ten eerste, onthoud dat Middleware Token Auth standaard is ingeschakeld, waardoor de toegang tot het eindpunt voor de meeste eindpunten wordt gecontroleerd. Het weigert toegang voor gebruikers die niet geautoriseerd zijn of er zelfs doorheen zijn gegaan, maar niet de juiste toegangsrechten hebben (ze behoren bijvoorbeeld tot de groep Users, en het eindpunt is uitsluitend bedoeld voor Admins).
Het benodigde autorisatietoken kan worden gevonden via de Developer Tools. U hoeft alleen maar in te loggen op de gepubliceerde webapplicatie en vervolgens een verzoek in te willigen. Het token zal worden gebruikt in de Request Headers. U ziet het bijvoorbeeld op het screenshot iets hoger op het moment dat we een GET verzoek om gegevens over landen.
Laten we eens kijken hoe je het direct in Swagger. Zoek daarvoor het eindpunt dat verantwoordelijk is voor de autorisatie (Auth group, POST /Auth/ endpoint) en klikt u op de knop "Try it out". Dit eindpunt neemt twee parameters, Login, en Password. Geef ze op en klik op Execute om het verzoek te verzenden. Overigens kan het hier ook nuttig zijn om de Developer Tools te gebruiken; u kunt deze openen om het verzoek en het antwoord nader te bestuderen.
Het antwoord zal het vereiste token bevatten, evenals gedetailleerde informatie over de gebruiker en zijn sessies.
U ziet dat het ontvangen antwoord niet veel verschilt van het antwoord dat we al zagen in de Developer Tools. Tegelijkertijd heeft, Swagger een onmiskenbaar voordeel dat het mogelijk maakt alle verzoeken te testen en endpoints met de nodige parameters in een handige vorm te lanceren. Maar laten we, voordat we doorgaan met dergelijke tests, op Authorize en het ontvangen token gebruiken om de autorisatie te bevestigen.
Verzoeken versturen met behulp van Swagger
Laten we nu een verzoek sturen via Swagger om gegevens te krijgen over de eerste stad die tegenkomt, met meer dan 5 miljoen inwoners en het woord "World" in de beschrijving. Open hiervoor het GET /city/ endpoint en vult de vereiste parameters in:
- _limit = 1 (slechts één stad nodig)
- population_from = 5000000 (bevolkingswaarde moet worden gecontroleerd)
- _search_in = info (zoek alleen in het veld info )
- _search = World (zoeken naar het woord World)
Uit het ontvangen antwoord blijkt dat het verzoek correct is uitgevoerd. We hebben informatie ontvangen over één zo'n stad (we zien dat count = 3, wat betekent dat de database informatie bevat over drie geschikte steden) en hebben geen gegevens ontvangen over het land waarin de stad ligt (“country”: null), aangezien de query geen gegevens uit gerelateerde tabellen hoefde te presenteren (indien nodig was het de moeite waard de _with parameter).