Swagger
Utilizzo di Swagger per la risoluzione dei problemi delle applicazioni
Il prossimo strumento che possiamo usare per testare e fare il debug della nostra applicazione è Swagger. Lo abbiamo già conosciuto in precedenza; come ricorderete, in esso è possibile vedere tutti gli endpoint dell'applicazione che si sta sviluppando, eseguirli e ottenere il risultato. Vediamo questo aspetto in modo più dettagliato.
Autorizzazione in Swagger
Prima di tutto, ricordiamo che Middleware Token Auth è abilitato per impostazione predefinita e controlla l'accesso all'endpoint per la maggior parte degli endpoint. Nega l'accesso agli utenti che non sono stati autorizzati o che lo hanno superato ma non hanno i diritti di accesso appropriati (ad esempio, appartengono al gruppo Users e l'endpoint è destinato esclusivamente a Admins).
Il token di autorizzazione necessario può essere reperito utilizzando il sito Developer Tools. È sufficiente accedere all'applicazione web pubblicata e poi soddisfare qualsiasi richiesta. Il token sarà utilizzato nel file Request Headers. Ad esempio, lo si può vedere nella schermata un po' più in alto, nel momento in cui è stata effettuata una GET per ottenere dati sui Paesi.
Vediamo come è possibile ottenerlo direttamente in Swagger. Per farlo, trovare l'endpoint responsabile dell'autorizzazione (Auth gruppo, POST /Auth/ endpoint) e fare clic sul pulsante "Try it out". Questo endpoint accetta due parametri, Login, e Password. Specificarli e fare clic su Execute per inviare la richiesta. Tra l'altro, in questo caso, può essere utile utilizzare anche i file Developer Tools; è possibile aprirli per uno studio più dettagliato della richiesta e della risposta.
La risposta riceverà il token richiesto, oltre a informazioni dettagliate sull'utente e sulle sue sessioni.
Si può notare che la risposta ricevuta non è molto diversa da quella già vista in Developer Tools. Allo stesso tempo, Swagger ha un innegabile vantaggio: permette di testare qualsiasi richiesta e di lanciare endpoint con i parametri necessari in una forma comoda. Ma prima di procedere con questi test, facciamo clic su Authorize e utilizziamo il token ricevuto per confermare l'autorizzazione.
Invio di richieste utilizzando Swagger
Ora inviamo una richiesta attraverso Swagger per ottenere i dati sulla prima città che si incontra, con una popolazione di oltre 5 milioni di persone e la parola "World" nella descrizione. Per farlo, aprire l'endpoint GET /city/ e si inseriscono i parametri richiesti:
- _limit = 1 (è necessaria solo una città)
- population_from = 5000000 (il valore della popolazione deve essere controllato)
- _search_in = info (ricerca solo nel campo info )
- _search = World (ricerca della parola World)
La risposta ricevuta mostra che la richiesta è stata eseguita correttamente. Abbiamo ricevuto informazioni su una di queste città (vediamo che count = 3, il che significa che il database contiene informazioni su tre città idonee) e non abbiamo ricevuto alcun dato sul Paese in cui si trova (“country”: null), poiché la query non aveva bisogno di presentare dati da tabelle correlate (se necessario, era opportuno utilizzare il parametro _with ).