Postman: guida al miglior strumento per testare le API Rest

Postman è attualmente il miglior strumento per testare le API Rest in maniera del tutto semplice e veloce e, soprattutto, senza inutili perdite di tempo. Le Api REST sono ormai da parecchi anni molto utilizzate per tutta una serie di vantaggi che sono in grado di offrire. Soprattutto per la loro semplicità di utilizzo e per il fatto che le rendono uno standard indispensabile per il web.

Sono utilizzate praticamente ovunque e da chiunque. Quindi, chi deve occuparsi dello sviluppo di questa tipologia di servizi deve essere in grado di testarle in maniera facile, semplice e, soprattutto, veloce.

Faccio una piccola premessa. Se sei arrivato fin qui è perché probabilmente sei già immerso da parecchio nel mondo della programmazione. Ma se stai iniziando adesso e sei alle prime armi, scopri quali sono i linguaggi di programmazione più usati e richiesti nel mondo lavorativo e, soprattutto, tutti quelli che c’è da sapere per diventare programmatore informatico.

In questa guida scoprirai come utilizzare Postman e come sfruttarlo al massimo delle sue potenzialità per testare tutti i tuoi servizi REST in maniera semplice e rapida. Postman è un software open source che ti permetterà di testare le API senza preoccuparti di dover creare delle apposite classi di test come si faceva invece in passato. D’ora in poi testare le tue API non sarà mai stato cosi semplice e veloce.

Vediamo insieme come installare Postman sul proprio pc e come configurarlo al meglio per testare le nostre API Rest.

Differenza fra REST e API

test api rest

Innanzitutto vorrei fare un po’ di chiarezza su due termini che ancora oggi molte persone considerano come due sinonimi: REST e RESTful API.

REST è l’acronimo di REpresentational State Transfer, ovvero una rappresentazione del trasferimento di stato di un determinato dato. Descrive una serie di linee guida e di approcci che definiscono lo stile con cui i dati vengono trasmessi.

API invece è l’acronimo di Application Programming Interface e indica un insieme di procedure (in genere raggruppate per strumenti specifici) atte a risolvere uno specifico problema di comunicazione tra diversi computer o tra diversi software o tra diversi componenti di software.

Nel caso specifico sei servizi web, le API non sono altro che un insieme di endpoint, che sono rappresentante da dei semplici URL. Gli endpoint rispondono a delle precise richieste fatte da una specifica applicazione.

Molto spesso si sente parlare erroneamente di REST ed API in maniera quasi sempre collegata.

Non sono assolutamente la stessa cosa.

Basta sapere che solitamente viene creato un set di API che rispettano la logica imposta da REST creando le cosiddette RESTful API.

Dopo una spiegazione abbastanza veloce di questi due termini, passiamo adesso all’argomento di questo articolo e cioè come testare servizi REST con l’utilizzo di Postman.

Cos’è Postman?

Postman è un utilissimo tool open source che ti aiuta a creare, testare, documentare, monitorare e pubblicare documentazione per le tue API. Si tratta di uno strumento che ti permette di eseguire qualsiasi tipo di richiesta verso un server ed è in grado di darti qualsiasi tipo di informazione che tu necessiti.

Postman ti permette di creare da zero le tue richieste specificando tutti i parametri possibili e immaginnabili, conoscere ogni tipo di informazione sia della Request che della successiva Response.

Oltre a creare da zero le richiesta è anche possibile ovviamente richiamare servizi esposti e già esistenti – scritti in un qualsiasi linguaggio di programmazione – e testarli in maniera completa.

È possibile effettuare chiamate HTTP in GET, POST, PUT e DELETE, salvarle e raggrupparle per non doverle ridefinire ogni volta. Inoltre, è possibile farsi generare il codice lato client per ogni chiamata in linguaggi diversi. È possibile creare un batch di chiamate ed eseguirle in automatico in loop, generare una documentazione e moltissima altre funzionalità indispensabili per chi svolge questo lavoro.

Perchè usare Postman?

Prima dell’introduzione di Postman, il processo di test delle API Rest era spesso manuale e richiedeva molto tempo. Gli sviluppatori dovevano inviare richieste HTTP tramite strumenti come curl o wget, visualizzare le risposte e confrontare i risultati con la specifica dell’API. Questo processo era spesso soggetto a errori umani e richiedeva molto tempo.

Postman semplifica questo processo in diversi modi:

  • Interfaccia grafica: Postman offre un’interfaccia grafica user-friendly per inviare richieste HTTP e visualizzare le risposte. Questo semplifica il processo di test e lo rende più efficiente rispetto all’utilizzo di strumenti a riga di comando come curl.
  • Creazione di richieste personalizzate: con Postman, gli sviluppatori possono facilmente creare richieste HTTP personalizzate, includendo i parametri e gli header necessari per testare le API. Ciò semplifica il processo di test delle API e rende più efficiente l’intero processo di sviluppo.
  • Creazione di ambienti: dal mio punto di vista, una delle funzionalità migliori di Postman. Permette infatti, tramite la parametrizzazione dei dati, di utilizzare le stesse richieste su ambienti differenti tra loro senza la necessità di riscriverle di volta in volta.
  • Gestione delle autorizzazioni: Postman offre una vasta gamma di opzioni per gestire le autorizzazioni necessarie per accedere alle API.
  • Test automatizzati: Postman consente di creare test automatizzati per le API, semplificando il processo di test e garantendo che le API funzionino correttamente.
  • Condivisione di raccolte di richieste: con Postman, gli sviluppatori possono facilmente condividere raccolte di richieste con il resto del team. Ciò semplifica la collaborazione e riduce il tempo necessario per testare e sviluppare le API.

In sintesi, Postman semplifica il processo di test e sviluppo delle API Rest in diversi modi, eliminando la necessità di utilizzare strumenti a riga di comando e semplificando il processo di collaborazione tra team.

Come funziona Postman?

Come detto precedentemente, uno dei software più utilizzati per effettuare dei test di API REST si chiama Postman ed è possibile scaricarlo gratuitamente direttamente dal sito ufficiale.

postman

Postman è disponibile sia per sistemi operativi Windows, nella versione da 32 e 64 bit, sia per macOS che per Linux.

Una volta scaricato, installato e avviato Postman, comparirà la seguente schermata principale:

test api

Come potrai notare, ha una grafica semplicissima e il suo funzionamento lo è ancora di più.

Quello che bisognerà fare sarà essenzialmente configurare in maniera corretta tutti i parametri necessari per poter testare un qualsivoglia servizio.

Vediamo in che modo è possibile configurare questi parametri all’interno di Postman per poter iniziare a testare i servizi creati.

Tipologia di chiamata

Innanzitutto, da questa prima schermata si possono settare due tra i valori essenziali di una qualsiasi chiamata a un servizio REST:

  1. Tipologia di chiamata (GET, POST, PUT, DELETE ecc.).
  2. URL da testare.

Supponiamo ad esempio di voler testare un’API Rest che utilizza il metodo POST che è stato mappato sull’url http://localhost:8080/myproject/testURL“. Basterà incollare l’indirizzo nell’apposito campo di testo e selezionare dal menù a tendina presente sulla sinistra della pagina la tipologia di chiamata desiderata.

postman

Autenticazione in Postman

Oltra alla tipologia di chiamata, indispensabile per testare qualsiasi servizio, è possibile anche impostare la parte relativa all’autorizzazione.

Per applicazioni reali infatti, ad ogni chiamata di un servizio è necessaria un’autorizzazione per poter accedere al servizio stesso.

Tutto ciò può essere impostato dal Tab Authorization.

Nel caso in esempio andremo a impostare una Basic Authentication.

In questo caso si dovranno inserire come parametri una Username e una Password che devono corrispondere a quelli impostati lato codice per poter usufruire del servizio.

postman test api rest

Tipologia di dati

Altra cosa fondamentale quando si espone un servizio REST è la tipologia di dati che viene inviata  dall’utente finale e i vari parametri che vengono inviati al server per effettuare la chiamata al servizio.

Sempre nell’esempio in questione utilizzeremo come parametro in ingresso un oggetto di tipo JSON. Il JSON è il formato di dati più utilizzato in queste situazioni per il semplice fatto che è molto leggero e maneggevole rispetto ad altri formati.

Supponiamo di aver scritto un servizio REST utilizzando SpringBoot e di avere qualcosa di questo tipo:

@PostMapping("/sbcsaj/v1/bacheca")
@ResponseBody
public String servizioTest(@RequestParam(name = "gestione") String gestione) {
....corpo del metodo
}

Stiamo esponendo in questo caso un servizio al path “/sbcsaj/v1/bacheca” che avrà come parametro in ingresso una stringa che dovrà chiamarsi “gestione”.

Per testare il corretto funzionamento di questo servizio su Postman non si dovrà fare altro che impostare la chiamata POST, inserire l’url da chiamare (preceduto dalla macchina su cui risiede il servizio e che in questo caso è http://localhost:8080) e inserire nel tab Body la stringa denominata “gestione” necessaria per chiamare correttamente il servizio creato.

Nell’esempio è stato selezionato dal menù a tendina il valore JSON(application/json) ed è stato inserito il valore {“gestione” : “G”}.

test api rest

Arrivati a questo punto, se tutto è stato inserito nella maniera corretta sarà possibile effettuare il test vero e proprio.

Per fare ciò è necessario semplicemente premere il tasto Sendche si trova nella parte alta a destra e attendere la risposta da parte del server come mostrata nella figura seguente.

test api rest

Altre funzionalità di Postman

Riepilogando, Postman è uno strumento molto utile e probabilmente il più utilizzato a livello mondiale per tutti gli sviluppatori di software e tutti gli utilizzatori di API. Postman permette di:

  • Testare le API: Postman consente di inviare facilmente richieste HTTP alle API e di visualizzare le risposte, semplificando il processo di test delle API.
  • Sviluppare le API: grazie alle funzionalità avanzate come la creazione di richieste personalizzate e la gestione delle autorizzazioni, gli sviluppatori possono utilizzare Postman per sviluppare e debuggare le loro API.
  • Documentare le API: Postman consente di generare automaticamente documentazione delle API, semplificando il processo di condivisione delle informazioni sulle API con gli utenti.
  • Automatizzare i test: gli utenti possono utilizzare Postman per creare script di test automatizzati per le loro API, semplificando il processo di testing e risparmiando tempo.
  • Collaborazione tra team: Postman consente di condividere raccolte di richieste e di collaborare con altri membri del team, semplificando il processo di sviluppo e di gestione delle API.

Test API Rest con Postman: conclusioni

Come si può notare, anche per quanto riguarda la tipologia di risposta si potrà utilizzare JSON che offre sicuramente una migliore visualizzazione. Allo stesso modo è anche possibile selezionare altre tipologie di formati di risposta come ad esempio XML,HTML ecc.

Attraverso Postman è possibile testare qualsiasi tipo di servizio in maniera semplice e veloce grazie anche alla sua interfaccia abbastanza intuitiva. Tra i vari vantaggi che offre Postman è possibile trovare la cronologia con tutte le chiamate effettuate e con tutte le autenticazioni utilizzate.

Per concludere, è possibile affermare con assoluta certezza che prima di conoscere queste strumento utilissimo, testare le API era veramente una scocciatura non da poco. Bisognava costruirsi un driver adeguato per effettuare qualsiasi tipologia di chiamata e molto spesso il formato delle risposte ricevute era formattato in maniera inguardabile e difficile da decifrare. Con Postman tutto questo non succede, rapidità di esecuzione e risultati facilissimi da leggere e formattati in maniera pressocché perfetta.

Per qualsiasi dubbio o informazione sull’installazione e l’utilizzo di Postman, puoi lasciare un messaggio nel box in basso e ti risponderemo appena possibile.

Lascia un commento