Strumento di prova per API REST

Uno strumento che permette di inviare richieste HTTP a un'API REST direttamente dal browser e di esaminarne la risposta. In alternativa a Postman o a cURL, semplifica lo sviluppo e la verifica delle API.

{{ alert.msg }}
Richiesta
URL
Metodo
Dati
Intestazioni {{ hkey }} {{ hval }}
Intestazioni

Risposta
Stato {{ status }}
Intestazioni

{{ hkey }}: {{ hval }}

Se l'API non restituisce l'intestazione «Access-Control-Allow-Origin» con il valore «*», non è possibile ottenere i dati. Con Google Chrome potete valutare l'uso di un'estensione dedicata.

https://chromewebstore.google.com/detail/cors-unblock/lfhmikememgdcahcdlaciloancbhjino

Che cos'è un tester di API REST?

Un tester di API REST vi permette di scegliere un metodo HTTP (GET, POST, PUT, DELETE e così via), inviare una richiesta a un endpoint dal browser e ispezionare all'istante codice di stato, intestazioni e corpo della risposta. Verificate così il comportamento di un'API senza installare un'applicazione desktop come Postman né ricorrere a cURL da riga di comando.

Si presta a controllare il comportamento mentre sviluppate un'API, oppure a sondare un'API pubblica per conoscere la forma delle sue risposte prima ancora di leggere la documentazione. Tenete però presente che, poiché le richieste partono direttamente dal browser, non riceverete alcuna risposta se l'API di destinazione non consente il CORS (l'intestazione Access-Control-Allow-Origin).

Come si usa il tester di API REST

  1. Selezionate il metodo HTTP Scegliete il metodo corrispondente all'operazione desiderata: GET, POST, PUT, PATCH, DELETE e così via.
  2. Inserite l'URL dell'endpoint Indicate l'URL dell'API interrogata. Fornite un URL completo che inizi con https.
  3. Impostate intestazioni e corpo se serve Inserite le intestazioni come un token di autenticazione o Content-Type, e il corpo JSON che inviate con POST o PUT.
  4. Inviate e ispezionate la risposta Codice di stato, intestazioni e corpo della risposta vengono mostrati subito lì.

Consigli per sfruttarlo al meglio

  • Per le restrizioni sulla condivisione delle risorse fra origini diverse non si possono interrogare direttamente le API prive dell'intestazione Access-Control-Allow-Origin: usate lo strumento con API pubbliche o già abilitate.
  • Indicando nell'intestazione della richiesta Content-Type: application/json potete inviare un corpo in formato JSON.
  • Codici di stato HTTP: 2xx successo, 4xx errore del client (401 per l'autenticazione, 404 per la risorsa non trovata), 5xx errore del server.
  • Per le API che richiedono l'autenticazione con token, aggiungete l'intestazione Authorization: Bearer {token}.

Quando un tester di API REST torna utile

Controllare un'API in sviluppo

Vedete immediatamente se l'API di back-end che state costruendo restituisce la risposta attesa, mentre la state ancora scrivendo.

Indagare la forma delle risposte di un'API pubblica

Prima di leggere la documentazione di un servizio esterno, inviate una richiesta reale e osservate la struttura JSON che torna.

Verificare le intestazioni di autenticazione

Provate se una richiesta che porta un token Bearer o una chiave API viene autenticata correttamente.

Vedere cosa contiene una risposta di errore

Inviate di proposito un parametro non valido e verificate quale messaggio di errore e quale codice di stato restituisce l'API.

Glossario

REST
Sigla di Representational State Transfer. Uno stile di progettazione per API web in cui le risorse si manipolano tramite metodi HTTP e URL.
CORS
Sigla di Cross-Origin Resource Sharing. Il meccanismo con cui i browser limitano le richieste verso un'origine (dominio) diversa: finché il server dell'API non restituisce l'intestazione che lo consente, la risposta non è leggibile.
Endpoint
L'URL presso il quale un'API accetta richieste. Per esempio « /api/users », che indica la risorsa su cui si opera.
Metodo HTTP
L'identificatore che dichiara il tipo di richiesta. Tra questi GET (leggere), POST (creare), PUT (aggiornare) e DELETE (rimuovere).
Token Bearer
Un formato di token molto usato per l'autenticazione delle API. Si allega all'intestazione della richiesta nella forma « Authorization: Bearer {token} ».

Domande frequenti

Poiché lo strumento invia la richiesta direttamente dal browser, se l'API non restituisce l'intestazione Access-Control-Allow-Origin si genera quell'errore. Potete usare un'estensione del browser che aggira la restrizione oppure provare con un'API che consente le richieste fra origini diverse.

Aggiungete nell'intestazione della richiesta Content-Type: application/json, scrivete la stringa JSON nel campo del corpo e inviate.

Aggiungete nell'intestazione della richiesta Authorization: Bearer {vostro_token}, sostituendo la parte fra parentesi con la stringa reale del token.
Tool-kun

A proposito — la nascita di REST: la tesi di dottorato che cambiò lo sviluppo web

REST è lo stile architetturale proposto nel 2000 da Roy Fielding nella sua tesi di dottorato «Architectural Styles and the Design of Network-based Software Architectures». Fielding è anche uno dei principali coautori della specifica HTTP/1.1 e concepì REST proprio mentre sistemava i principi progettuali del protocollo.

Intorno al 2010 Twitter passò dall'approccio SOAP a un'API REST e, aprendola agli sviluppatori, ne favorì la diffusione esplosiva. Oggi moltissimi servizi noti — dai pagamenti allo sviluppo collaborativo, dalla messaggistica ai servizi di intelligenza artificiale — pubblicano API REST e alimentano quel mercato che si è preso a chiamare economia delle API.

Nella progettazione delle API REST rientra, nella formulazione originaria, il vincolo dell'ipermedia come motore dello stato dell'applicazione, ma sono pochissimi i servizi che lo attuano rigorosamente. La discussione su che cosa sia «vero REST» torna periodicamente ad accendersi nella comunità degli sviluppatori e la definizione stessa dell'aggettivo resta oggetto di dibattito.