Pular para o conteúdo

Simular uma API HTTP

Clique com o botão direito numa pasta ▸ Adicionar ▸ Servidor HTTP.

Um servidor configura-se com os mesmos campos de um pedido — e é aí que está todo o interesse: o método e o caminho definem a rota escutada, enquanto o estado, os cabeçalhos e o corpo definem a resposta servida.

CampoFunção
MétodoO método da rota
Endereçolocalhost:<port><path> — o host está fixado
Estado de simulaçãoO código devolvido, 200 por predefinição
CabeçalhosOs cabeçalhos da resposta
CorpoO corpo da resposta

Um elemento Servidor HTTP: o URL reduzido a localhost + porta + caminho, o método servido, e os cabeçalhos e o corpo da resposta simulada

Uma rota é um par método + caminho. A correspondência é feita pelo caminho exato, sendo a cadeia de consulta ignorada. Qualquer chamada que chegue à porta sem corresponder a uma rota recebe um 404.

Duas rotas só colidem se partilharem o mesmo método, o mesmo caminho e a mesma porta. Pode, portanto, criar um pedido de servidor por rota e iniciá-los todos.

GET localhost:8080/clients → 200, lista de clientes
GET localhost:8080/clients/42 → 200, um cliente
POST localhost:8080/clients → 201, cabeçalho Location
GET localhost:8080/clients/999 → 404 (nenhuma rota: resposta predefinida)

Os cabeçalhos e o corpo são resolvidos em cada chamada recebida. Um corpo que contenha {{maintenant}} ou {{compteur}} muda, portanto, de uma chamada para a outra se a variável mudar.

Sugestão: isto permite guiar o comportamento do servidor enquanto ele está a correr — altere o valor de uma variável de ambiente e a chamada seguinte recebe uma resposta diferente, sem reiniciar nada.

Um servidor HTTP de simulação e um servidor WebSocket ou Socket.IO podem escutar na mesma porta: o Restorm encaminha os pedidos comuns para as rotas HTTP e os pedidos de mudança de protocolo para o servidor em tempo real.

A ação Servidor HTTP aloja a rota durante o tempo que o cenário durar e emite um evento served — que transporta { request, response }por cada chamada recebida. É esta a forma de testar um webhook:

Servidor HTTP ──connected──► Pedido HTTP “acionar o webhook”
└─────────served──────► Assert sobre request.body
depois ──► Fecho do servidor HTTP

Consulte Servidores alojados.