Sari la conținut

gRPC

Clic dreapta în arbore ▸ Adaugă ▸ Cerere gRPC.

O filă gRPC: adresa serverului, tipul de apel „Unary”, calea serviciu/metodă rezolvată, mesajul cererii în JSON și metadatele

CâmpRol
URLhost:port al serverului
Serviciu / MetodăServiciul și RPC-ul apelat
Tip de apelunary, server-stream, client-stream, bidirectional-stream
Mesaj de cerereMesajul, în JSON
MetadatePerechile cheie / valoare transmise împreună cu apelul (aici trec identificatorii)

Trei surse posibile, în ordinea priorității:

  1. un set de descriptori obținut prin reflexie pe server — este ceea ce depune importul prin reflexie și are prioritate față de restul;
  2. conținutul .proto inline, stocat în proiect;
  3. o cale către un .proto de pe disc.

Prima opțiune are o consecință practică importantă: o cerere importată prin reflexie continuă să funcționeze offline, fără ca serverul să fie accesibil.

Din fereastra modală de import gRPC, indicați host:port: Restorm interoghează serviciul de reflexie, încarcă descriptorii și construiește arborele — un folder pentru fiecare serviciu, o cerere pentru fiecare RPC, cu un mesaj de exemplu.

Reconectarea la aceeași adresă este recunoscută ca o re-sincronizare și actualizează arborele existent în loc să îl dubleze.

Dacă serverul nu implementează reflexia, Restorm o spune explicit: importați atunci fișierul .proto. Vedeți Importarea unui .proto gRPC.

Sunt disponibile trei transporturi:

TransportCând se folosește
grpc (implicit)gRPC nativ peste HTTP/2
grpc-webServer aflat în spatele unui proxy gRPC-Web
connectServer Connect-RPC

Pentru cele trei moduri în flux, panoul de răspuns afișează mesajele pe măsură ce sosesc. Într-un scenariu, folosiți acțiunile Conexiune gRPC, Trimitere gRPC și Închidere gRPC: conexiunea rămâne deschisă între cutii, fiecare mesaj primit emite un eveniment, iar închiderea efectuează semi-închiderea din partea clientului.

Restorm poate găzdui un server gRPC de simulare: o listă de metode simulate, fiecare cu mesajul său de răspuns (un tablou JSON pentru un flux), cu codul său de stare, cu metadatele sale de final sau cu un script. Reflexia pe server este expusă implicit, iar TLS se configurează prin certificat și cheie în format PEM. Vedeți Simularea unui API gRPC.

Paisprezece ținte: grpcurl, grpc_cli, grpcurl în gRPC-Web, curl în Connect-RPC, JavaScript și TypeScript (@grpc/grpc-js), Python (grpcio), Go, Java (grpc-java), C# (Grpc.Net.Client), Ruby, Rust (tonic), Kotlin (grpc-kotlin), Swift (grpc-swift).