Zum Inhalt springen

gRPC

Rechtsklick im Baum ▸ Hinzufügen ▸ gRPC-Anfrage.

Ein gRPC-Tab: die Serveradresse, der Aufruftyp „Unär“, der aufgelöste Service/Methode-Pfad, die Anfragenachricht in JSON und die Metadaten

FeldRolle
URLhost:port des Servers
Service / MethodeDer aufgerufene Service und der RPC
Aufruftypunary, server-stream, client-stream, bidirectional-stream
AnfragenachrichtDie Nachricht, in JSON
MetadatenDie mit dem Aufruf übermittelten Schlüssel-Wert-Paare (hier laufen die Zugangsdaten durch)

Drei mögliche Quellen, in Prioritätsreihenfolge:

  1. ein per Server-Reflexion erhaltener Deskriptorsatz — das setzt der Import per Reflexion, und er hat Vorrang vor den anderen;
  2. der .proto-Inhalt inline, im Projekt gespeichert;
  3. ein Pfad zu einer .proto-Datei auf der Festplatte.

Die erste Option hat eine wichtige praktische Konsequenz: Eine per Reflexion importierte Anfrage funktioniert weiterhin offline, ohne dass der Server erreichbar sein muss.

Geben Sie im gRPC-Import-Dialog host:port an: Restorm fragt den Reflexionsdienst ab, lädt die Deskriptoren und baut die Baumstruktur auf — ein Ordner pro Service, eine Anfrage pro RPC, mit einer Beispielnachricht.

Eine erneute Verbindung zur selben Adresse wird als Neusynchronisierung erkannt und aktualisiert die bestehende Baumstruktur, statt sie zu duplizieren.

Implementiert der Server keine Reflexion, sagt Restorm das explizit: Importieren Sie dann die .proto-Datei. Siehe Eine gRPC-.proto-Datei importieren.

Drei Transporte stehen zur Verfügung:

TransportWann verwenden
grpc (Standard)natives gRPC über HTTP/2
grpc-webServer hinter einem gRPC-Web-Proxy
connectConnect-RPC-Server

Bei den drei Stream-Modi zeigt das Antwortpanel die Nachrichten fortlaufend an. Verwenden Sie in einem Szenario die Aktionen gRPC-Verbindung, gRPC-Senden und gRPC-Schließen: Die Verbindung bleibt zwischen den Bausteinen offen, jede empfangene Nachricht löst ein Ereignis aus, und das Schließen führt die Halbschließung clientseitig durch.

Restorm kann einen gRPC-Mock-Server hosten: eine Liste simulierter Methoden, jede mit ihrer Antwortnachricht (ein JSON-Array bei einem Stream), ihrem Statuscode, ihren Abschluss-Metadaten oder einem Skript. Die Server-Reflexion wird standardmäßig bereitgestellt, und TLS ist über Zertifikat und Schlüssel im PEM-Format konfigurierbar. Siehe Eine gRPC-API simulieren.

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