Aller au contenu

Simuler une API HTTP

Clic droit sur un dossier ▸ Ajouter ▸ Serveur HTTP.

Un serveur se configure avec les mêmes champs qu’une requête — et c’est tout l’intérêt : la méthode et le chemin définissent la route écoutée, le statut, les en-têtes et le corps définissent la réponse servie.

ChampRôle
MéthodeLa méthode de la route
Adresselocalhost:<port><chemin> — l’hôte est figé
Statut de simulationLe code renvoyé, 200 par défaut
En-têtesLes en-têtes de la réponse
CorpsLe corps de la réponse

Un élément Serveur HTTP : l'URL réduite à localhost + port + chemin, la méthode servie, les en-têtes et le corps de la réponse simulée

Une route est un couple méthode + chemin. L’appariement se fait sur le chemin exact, la chaîne de requête étant ignorée. Tout appel arrivant sur le port sans correspondre à une route reçoit un 404.

Deux routes n’entrent en collision que si elles partagent la même méthode, le même chemin et le même port. Vous pouvez donc créer une requête serveur par route et les démarrer toutes.

GET localhost:8080/clients → 200, liste de clients
GET localhost:8080/clients/42 → 200, un client
POST localhost:8080/clients → 201, en-tête Location
GET localhost:8080/clients/999 → 404 (aucune route : réponse par défaut)

Les en-têtes et le corps sont résolus à chaque appel entrant. Un corps contenant {{maintenant}} ou {{compteur}} change donc d’un appel à l’autre si la variable change.

Astuce : cela permet de piloter le comportement du serveur pendant qu’il tourne — changez la valeur d’une variable d’environnement et l’appel suivant reçoit une réponse différente, sans redémarrer.

Un serveur HTTP de simulation et un serveur WebSocket ou Socket.IO peuvent écouter sur le même port : Restorm aiguille les requêtes ordinaires vers les routes HTTP et les demandes de bascule vers le serveur temps réel.

L’action Serveur HTTP héberge la route pour la durée du scénario et émet un événement served — portant { request, response }par appel reçu. C’est le moyen de tester un webhook :

Serveur HTTP ──connected──► Requête HTTP « déclencher le webhook »
└────────served──────► Assert sur request.body
puis ──► Fermeture serveur HTTP

Voir Serveurs hébergés.