Pular para o conteúdo

O modo servidor

O Restorm sabe alojar um servidor, e não apenas chamar um. Define uma rota e a sua resposta, inicia a escuta e depois aponta um cliente para ela — normalmente o código da sua aplicação — para testar a forma como este consome o serviço.

É o que é preciso quando o serviço real ainda não existe, quando é difícil fazê-lo produzir a resposta que lhe interessa (um erro 503, uma falha SOAP, um estado gRPC concreto), ou quando quer um conjunto de dados fixo para um teste reproduzível.

O princípio é simples, e é isso que o torna agradável: o que configura no servidor é a resposta servida. O estado, os cabeçalhos e o corpo que introduz são exatamente aquilo que quem chama recebe.

Um elemento Servidor HTTP a escutar: o botão de escuta a vermelho (ativo), o estado “À escuta — 3 pedido(s) servido(s)” e o aviso “Configuração bloqueada enquanto o servidor está em execução”

ServidorPágina
HTTPSimular uma API HTTP
GraphQLSimular uma API GraphQL
gRPCSimular um serviço gRPC
SOAPSimular um serviço SOAP
WebSocket, Socket.IO, MQTTSimular WebSocket, Socket.IO e MQTT
ODataSimular um serviço OData

Clique com o botão direito numa pasta ▸ Adicionar ▸ e depois a entrada pretendida. O menu oferece oito servidores, sendo cada um deles um tipo de elemento distinto:

Servidor HTTP · Servidor GraphQL · Servidor gRPC · Servidor SOAP · Servidor WebSocket · Servidor Socket.IO · Servidor MQTT · Servidor OData

O elemento criado leva um distintivo SRV na árvore. No caso de um servidor HTTP, os valores iniciais são GET, localhost:8080/ e estado 200.

No painel, o botão de envio é substituído por um comutador Listen ↔ Stop. O painel de resposta mostra o estado em direto: Not listening, ou Listening — N request(s) served.

O host está fixado em localhost: apenas a porta e o caminho são editáveis. Um servidor de simulação não se destina a ser exposto à rede.

O servidor para através do botão Stop, ao fechar o ficheiro, ou ao sair da aplicação.

O Restorm abre apenas um socket por porta e encaminha conforme a natureza da chamada recebida: os pedidos comuns para as rotas HTTP, os pedidos de mudança de protocolo para WebSocket ou Socket.IO.

Na prática: um servidor HTTP de simulação e um servidor Socket.IO podem escutar em conjunto na porta :8080. A porta só é libertada quando a sua última rota é parada.

Os cabeçalhos e o corpo servidos são resolvidos no momento de servir, e não no arranque: alterar uma variável de ambiente enquanto o servidor está à escuta muda a resposta seguinte. Consulte Variáveis e ambientes.

As ações Escuta … / Fecho … alojam um servidor durante o tempo que o cenário durar, com uma saída served que emite um evento por cada chamada recebida. É isso que permite testar um webhook de ponta a ponta num único grafo. Consulte Servidores alojados.

Comparação com os servidores de simulação alojados

Section titled “Comparação com os servidores de simulação alojados”
RestormServidores alojados (tipo Postman Mock Servers)
Onde é executadoNa sua máquinaNo fornecedor
LatênciaNenhuma ida e volta pela redeUma ida e volta pela Internet
Funciona offline
Origem da respostaO próprio pedido, editávelUm exemplo guardado
Modelos {{ }}✔, resolvidos em cada chamadaLimitados
Partilha de portaNão se aplica
PrivacidadeNada sai da máquinaOs dados passam pelo serviço