gRPC é uma framework de Chamada de Procedimento Remoto (RPC) de elevado desempenho e eficiência, amplamente adotada em sistemas distribuídos modernos. Em arquiteturas de microsserviços, o gRPC facilita uma comunicação eficiente entre serviços com baixa latência e consumo reduzido de largura de banda através das suas capacidades de streaming e da serialização com Protocol Buffers.Pré-requisitos#
Antes de utilizar gRPC no Apidog, certifique-se de que tem:Apidog versão 2.3.1 ou posterior
Ficheiros .proto que definem os seus serviços e métodos gRPC
Acesso a um endpoint de servidor gRPC
Criar um projeto gRPC#
Para criar um novo projeto gRPC:1.
Clique em "Novo projeto" na página inicial do Apidog
Importar ficheiros Proto#
gRPC segue uma abordagem API-First, exigindo que os serviços, métodos e mensagens sejam definidos através de ficheiros .proto antes do desenvolvimento. Importe o seu ficheiro .proto para começar a depurar APIs gRPC no Apidog.Importação inicial#
O Apidog suporta três métodos de importação:| Método | Descrição |
|---|
| Ficheiro local | Carregue um ficheiro .proto a partir do seu sistema de ficheiros local |
| URL | Importe a partir de um URL que aloja o ficheiro .proto |
| Server Reflection | Descubra automaticamente serviços a partir de um servidor gRPC |
O ficheiro .proto selecionado é importado como um Proto, em que:Serviços são importados como serviços
Métodos RPC são importados como métodos
Dependências devem ser adicionadas manualmente se o ficheiro .proto depender de outros ficheiros
Serviços relacionados de ficheiros .proto dependentes com o mesmo pacote também são importados
Reimportar ficheiros Proto#
Quando o seu ficheiro .proto for alterado, atualize-o no Apidog:1.
Clique com o botão direito do rato no Proto na árvore de diretórios
Métodos de invocação#
gRPC suporta quatro tipos de métodos ao definir APIs em ficheiros .proto. O Apidog suporta todos os quatro:| Tipo de método | Descrição |
|---|
| Unary | Pedido único, resposta única (semelhante a HTTP) |
| Server Streaming | Pedido único, múltiplas respostas do servidor |
| Client Streaming | Múltiplos pedidos do cliente, resposta única |
| Bidirectional Streaming | Múltiplos pedidos e respostas em ambas as direções |
Chamadas Unary#
As chamadas Unary funcionam de forma semelhante aos pedidos HTTP:1.
Introduza o URL do servidor na barra de endereço
2.
Insira o conteúdo da mensagem em formato JSON no separador Message
3.
Clique em "Invoke" para iniciar a chamada
Também pode configurar informações de Metadata e Auth para autenticação ou cenários complexos.Chamadas de streaming#
As chamadas de streaming funcionam de forma semelhante às ligações WebSocket. Depois de iniciar a chamada, pode escrever e enviar mensagens no separador Message.O Apidog disponibiliza uma vista de cronologia que apresenta:Mensagens recebidas (por ordem cronológica)
Clique em qualquer mensagem para ver os respetivos detalhes.Funcionalidades avançadas#
Gerar automaticamente valores dinâmicos#
O Apidog reconhece o conteúdo do ficheiro .proto, permitindo a geração automática do corpo da mensagem:1.
Clique no botão "Auto-generate" para criar a estrutura da mensagem
2.
Utilize a funcionalidade "Dynamic Values" para uma geração de dados flexível e dinâmica
Utilizar variáveis#
As variáveis do Apidog podem ser utilizadas em mensagens gRPC e em Metadata para injeção dinâmica de dados.Ativar TLS#
As APIs gRPC suportam ligações seguras através de TLS (Transport Layer Security).Clique no seletor de protocolo antes do URL para alternar o estado do TLS
Utilize grpcs:// no URL para ativar TLS
Utilize grpc:// para desativar TLS
Gerir endereços de servidor e ambientes#
Adicionar endereços de servidor#
Clique no ícone de mais no lado direito da barra de endereço do URL para adicionar o endereço do servidor atual a um ambiente.Utilizar endereços de servidor do ambiente#
1.
Selecione o ambiente e o endereço do servidor no canto superior direito
2.
Escolha "Follow Default" na barra de endereço do URL para utilizar um endereço de servidor unificado para depurar todos os métodos
Ver ficheiros Proto e parâmetros da API#
Conteúdo do ficheiro Proto#
Clique no Proto na árvore de diretórios à esquerda para ver o conteúdo bruto do ficheiro .proto.Parâmetros de pedido e resposta#
gRPC utiliza Protocol Buffers (ProtoBuf) como formato de serialização. Ao contrário dos formatos baseados em texto (JSON, XML), ProtoBuf é um formato binário que não é adequado para leitura ou escrita por humanos.No Apidog, todas as mensagens gRPC são escritas e apresentadas em formato JSON para facilitar a utilização. Pode ver os parâmetros de pedido e resposta em formato JSON na página de informações da API.Mapeamento de tipos de ProtoBuf para JSON#
| ProtoBuf 3 | JSON | Exemplo JSON |
|---|
| message | object | {"fooBar": v, "g": null, …} |
| enum | string | "FOO_BAR" |
| map<K,V> | object | {"k": v, …} |
| repeated V | array | [v, …] |
| bool | boolean | true, false |
| string | string | "Hello World!" |
| bytes | base64 string | "YWJjMTIzIT8kKiYoKSctPUB+" |
| int32, fixed32, uint32 | number | 1, -10, 0 |
| int64, fixed64, uint64 | string | "1", "-10" |
| float, double | number | 1.1, -10.0, 0, "NaN", "Infinity" |
Depois de concluir a depuração, clique no botão "Save" para guardar:Isto permite que os membros da equipa reutilizem a sua configuração de depuração. Modified at 2026-06-09 08:54:45