Salta ai contenuti

Simulare un’API HTTP

Clic destro su una cartella ▸ Aggiungi ▸ Server HTTP.

Un server si configura con gli stessi campi di una richiesta — ed è proprio questo il vantaggio: il metodo e il percorso definiscono la rotta in ascolto, lo stato, gli header e il corpo definiscono la risposta servita.

CampoRuolo
MetodoIl metodo della rotta
Indirizzolocalhost:<port><path> — l’host è fissato
Stato di simulazioneIl codice restituito, 200 per impostazione predefinita
HeaderGli header della risposta
CorpoIl corpo della risposta

Un elemento Server HTTP: l’URL ridotto a localhost + porta + percorso, il metodo servito, gli header e il corpo della risposta simulata

Una rotta è una coppia metodo + percorso. L’appaiamento avviene sul percorso esatto, ignorando la stringa di query. Ogni chiamata che arriva sulla porta senza corrispondere a una rotta riceve un 404.

Due rotte entrano in collisione solo se condividono lo stesso metodo, lo stesso percorso e la stessa porta. È quindi possibile creare una richiesta server per rotta e avviarle tutte.

GET localhost:8080/clients → 200, elenco di clienti
GET localhost:8080/clients/42 → 200, un cliente
POST localhost:8080/clients → 201, header Location
GET localhost:8080/clients/999 → 404 (nessuna rotta: risposta predefinita)

Gli header e il corpo vengono risolti a ogni chiamata in ingresso. Un corpo che contiene {{maintenant}} o {{compteur}} cambia quindi da una chiamata all’altra se la variabile cambia.

Suggerimento: questo permette di pilotare il comportamento del server mentre è in esecuzione — basta cambiare il valore di una variabile d’ambiente e la chiamata successiva riceve una risposta diversa, senza riavviare.

Un server HTTP di simulazione e un server WebSocket o Socket.IO possono ascoltare sulla stessa porta: Restorm smista le richieste ordinarie verso le rotte HTTP e le richieste di passaggio verso il server in tempo reale.

L’azione Server HTTP ospita la rotta per la durata dello scenario ed emette un evento served — che porta { request, response }per ogni chiamata ricevuta. È il modo per verificare un webhook:

Server HTTP ──connected──► Richiesta HTTP «attivare il webhook»
└────────served──────► Assert su request.body
poi ──► Chiusura server HTTP

Si veda Server ospitati.