Ga naar inhoud

gRPC

Rechtsklik in de boom ▸ Toevoegen ▸ gRPC-verzoek.

Een gRPC-tabblad: het serveradres, het aanroeptype “Unair”, het opgeloste pad service/methode, het verzoekbericht in JSON en de metadata

VeldRol
URLhost:port van de server
Service / MethodeDe service en de RPC die wordt aangeroepen
Aanroeptypeunary, server-stream, client-stream, bidirectional-stream
VerzoekberichtHet bericht, in JSON
MetadataDe sleutel-waardeparen die met de aanroep worden meegestuurd (daar gaan de inloggegevens langs)

Er zijn drie mogelijke bronnen, in volgorde van prioriteit:

  1. een set descriptors die via serverreflection is opgehaald — dat is wat de import via reflection neerzet, en die gaat vóór de rest;
  2. de inline .proto-inhoud, opgeslagen in het project;
  3. een pad naar een .proto op schijf.

De eerste optie heeft een belangrijk praktisch gevolg: een verzoek dat via reflection is geïmporteerd, blijft offline werken, zonder dat de server bereikbaar hoeft te zijn.

Geef in het gRPC-importdialoogvenster host:port op: Restorm ondervraagt de reflectionservice, laadt de descriptors en bouwt de boomstructuur — één map per service, één verzoek per RPC, met een voorbeeldbericht.

Opnieuw verbinden met hetzelfde adres wordt herkend als een hersynchronisatie en werkt de bestaande boomstructuur bij in plaats van die te dupliceren.

Als de server geen reflection implementeert, zegt Restorm dat expliciet: importeer dan de .proto. Zie Een gRPC-.proto importeren.

Er zijn drie transporten beschikbaar:

TransportWanneer u het gebruikt
grpc (standaard)Native gRPC over HTTP/2
grpc-webServer achter een gRPC-Web-proxy
connectConnect-RPC-server

Voor de drie streamingmodi toont het responspaneel de berichten doorlopend. Gebruik in een scenario de acties gRPC connect, gRPC send en gRPC-verbinding sluiten: de verbinding blijft tussen de vakjes open, elk ontvangen bericht stuurt een event uit, en het sluiten voert de half-close aan de clientzijde uit.

Restorm kan een gRPC-mockserver hosten: een lijst van gemockte methoden, elk met een responsbericht (een JSON-array voor een stream), een statuscode, afsluitmetadata, of een script. Serverreflection wordt standaard aangeboden, en TLS stelt u in met een certificaat en een sleutel in PEM-formaat. Zie Een gRPC-API mocken.

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