Aller au contenu

gRPC

Clic droit dans l’arbre ▸ Ajouter ▸ Requête gRPC.

Un onglet gRPC : l'adresse du serveur, le type d'appel « Unaire », le chemin service/méthode résolu, le message de requête en JSON et les métadonnées

ChampRôle
URLhôte:port du serveur
Service / MéthodeLe service et la RPC appelée
Type d’appelunary, server-stream, client-stream, bidirectional-stream
Message de requêteLe message, en JSON
MétadonnéesLes couples clé / valeur transmis avec l’appel (c’est là que passent les identifiants)

Trois sources possibles, par ordre de priorité :

  1. un jeu de descripteurs obtenu par réflexion serveur — c’est ce que pose l’import par réflexion, et il l’emporte sur le reste ;
  2. le contenu .proto en ligne, stocké dans le projet ;
  3. un chemin vers un .proto sur le disque.

La première option a une conséquence pratique importante : une requête importée par réflexion continue de fonctionner hors ligne, sans que le serveur soit joignable.

Depuis la modale d’import gRPC, indiquez hôte:port : Restorm interroge le service de réflexion, charge les descripteurs et construit l’arborescence — un dossier par service, une requête par RPC, avec un message d’exemple.

Se reconnecter à la même adresse est reconnu comme une re-synchronisation et met à jour l’arborescence existante au lieu de la dupliquer.

Si le serveur n’implémente pas la réflexion, Restorm le dit explicitement : importez alors le .proto. Voir Importer un .proto gRPC.

Trois transports sont disponibles :

TransportQuand l’utiliser
grpc (défaut)gRPC natif sur HTTP/2
grpc-webServeur derrière un proxy gRPC-Web
connectServeur Connect-RPC

Pour les trois modes en flux, le panneau de réponse affiche les messages au fil de l’eau. Dans un scénario, utilisez les actions Connexion gRPC, Envoi gRPC et Fermeture gRPC : la connexion reste ouverte entre les boîtes, chaque message reçu émet un événement, et la fermeture effectue la demi-fermeture côté client.

Restorm sait héberger un serveur gRPC de simulation : une liste de méthodes simulées, chacune avec son message de réponse (un tableau JSON pour un flux), son code de statut, ses métadonnées de fin, ou un script. La réflexion serveur est exposée par défaut, et TLS est configurable par certificat et clé au format PEM. Voir Simuler une API gRPC.

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