Pular para o conteúdo

gRPC

Clique com o botão direito na árvore ▸ Adicionar ▸ Pedido gRPC.

Um separador gRPC: o endereço do servidor, o tipo de chamada “Unária”, o caminho serviço/método resolvido, a mensagem do pedido em JSON e os metadados

CampoFunção
URLhost:port do servidor
Serviço / MétodoO serviço e a RPC invocada
Tipo de chamadaunary, server-stream, client-stream, bidirectional-stream
Mensagem do pedidoA mensagem, em JSON
MetadadosOs pares chave / valor transmitidos com a chamada (é por aqui que passam as credenciais)

Três origens possíveis, por ordem de prioridade:

  1. um conjunto de descritores obtido por reflexão do servidor — é o que a importação por reflexão deixa registado, e prevalece sobre o resto;
  2. o conteúdo .proto em linha, guardado no projeto;
  3. um caminho para um .proto no disco.

A primeira opção tem uma consequência prática importante: um pedido importado por reflexão continua a funcionar offline, sem que o servidor esteja acessível.

Na janela de importação gRPC, indique host:port: o Restorm interroga o serviço de reflexão, carrega os descritores e constrói a árvore — uma pasta por serviço, um pedido por RPC, com uma mensagem de exemplo.

Voltar a ligar-se ao mesmo endereço é reconhecido como uma ressincronização e atualiza a árvore existente em vez de a duplicar.

Se o servidor não implementar a reflexão, o Restorm di-lo explicitamente: importe então o .proto. Consulte Importar um .proto gRPC.

Estão disponíveis três transportes:

TransporteQuando utilizá-lo
grpc (predefinição)gRPC nativo sobre HTTP/2
grpc-webServidor atrás de um proxy gRPC-Web
connectServidor Connect-RPC

Nos três modos de streaming, o painel de resposta apresenta as mensagens à medida que chegam. Num cenário, utilize as ações Ligação gRPC, Envio gRPC e Fecho da ligação gRPC: a ligação mantém-se aberta entre as caixas, cada mensagem recebida emite um evento e o fecho realiza o meio-fecho do lado do cliente.

O Restorm sabe alojar um servidor gRPC de simulação: uma lista de métodos simulados, cada um com a sua mensagem de resposta (um array JSON para um stream), o seu código de estado, os seus metadados finais ou um script. A reflexão do servidor é exposta por predefinição, e o TLS é configurável por certificado e chave no formato PEM. Consulte Simular uma API gRPC.

Catorze alvos: grpcurl, grpc_cli, grpcurl em gRPC-Web, curl em Connect-RPC, JavaScript e TypeScript (@grpc/grpc-js), Python (grpcio), Go, Java (grpc-java), C# (Grpc.Net.Client), Ruby, Rust (tonic), Kotlin (grpc-kotlin), Swift (grpc-swift).