Ga naar inhoud

Een HTTP-API mocken

Rechtsklik op een map ▸ Toevoegen ▸ HTTP-server.

Een server stelt u in met dezelfde velden als een verzoek — en daar zit precies het nut: de methode en het pad bepalen de route waarnaar wordt geluisterd, en de status, de headers en de body bepalen de respons die wordt aangeboden.

VeldRol
MethodeDe methode van de route
Adreslocalhost:<poort><pad> — de host staat vast
MockstatusDe code die wordt teruggegeven, standaard 200
HeadersDe headers van de respons
BodyDe body van de respons

Een HTTP-serverelement: de URL beperkt tot localhost + poort + pad, de methode die wordt bediend, de headers en de body van de gemockte respons

Een route is een combinatie van methode + pad. Het matchen gebeurt op het exacte pad, waarbij de querystring wordt genegeerd. Elke aanroep die op de poort binnenkomt zonder een route te raken, krijgt een 404.

Twee routes botsen alleen als ze dezelfde methode, hetzelfde pad en dezelfde poort delen. U kunt dus per route een serververzoek maken en ze allemaal starten.

GET localhost:8080/clients → 200, lijst met klanten
GET localhost:8080/clients/42 → 200, één klant
POST localhost:8080/clients → 201, header Location
GET localhost:8080/clients/999 → 404 (geen route: standaardrespons)

De headers en de body worden bij elke inkomende aanroep opgelost. Een body met {{maintenant}} of {{compteur}} verandert dus van aanroep tot aanroep als de variabele verandert.

Een tip: daarmee kunt u het gedrag van de server sturen terwijl hij draait — wijzig de waarde van een omgevingsvariabele en de volgende aanroep krijgt een andere respons, zonder herstart.

Een HTTP-mockserver en een WebSocket- of Socket.IO-server kunnen op dezelfde poort luisteren: Restorm routeert de gewone verzoeken naar de HTTP-routes en de upgrade-verzoeken naar de realtimeserver.

De actie HTTP-server host de route zolang het scenario duurt en stuurt per ontvangen aanroep een event served uit — met daarin { request, response }. Zo test u een webhook:

HTTP-server ──connected──► HTTP-verzoek “webhook uitlokken”
└───────served──────► Assert op request.body
daarna ──► HTTP-server sluiten

Zie Gehoste servers.