gRPC
Kliknięcie prawym przyciskiem w drzewie ▸ Dodaj ▸ Żądanie gRPC.

Konfiguracja
Section titled “Konfiguracja”| Pole | Rola |
|---|---|
| URL | host:port serwera |
| Usługa / Metoda | Usługa i wywoływana metoda RPC |
| Typ wywołania | unary, server-stream, client-stream, bidirectional-stream |
| Komunikat żądania | Komunikat w formacie JSON |
| Metadane | Pary klucz / wartość przesyłane wraz z wywołaniem (tędy przechodzą dane uwierzytelniające) |
Skąd pochodzi definicja usługi
Section titled “Skąd pochodzi definicja usługi”Możliwe są trzy źródła, w kolejności pierwszeństwa:
- zestaw deskryptorów uzyskany przez refleksję serwera — to właśnie zapisuje import przez refleksję i ma on pierwszeństwo nad pozostałymi źródłami;
- treść
.protoosadzona w projekcie; - ścieżka do pliku
.protona dysku.
Pierwsza opcja ma ważną konsekwencję praktyczną: żądanie zaimportowane przez refleksję działa nadal w trybie offline, bez konieczności łączenia się z serwerem.
Import przez refleksję
Section titled “Import przez refleksję”W oknie dialogowym importu gRPC wystarczy podać host:port: Restorm odpytuje
usługę refleksji, pobiera deskryptory i buduje drzewo — jeden folder na usługę,
jedno żądanie na metodę RPC, z przykładowym komunikatem.
Ponowne połączenie z tym samym adresem jest rozpoznawane jako ponowna synchronizacja i aktualizuje istniejące drzewo, zamiast je duplikować.
Jeśli serwer nie implementuje refleksji, Restorm wyraźnie o tym informuje —
wówczas należy zaimportować plik .proto. Zob.
Import pliku .proto gRPC.
Transporty
Section titled “Transporty”Dostępne są trzy transporty:
| Transport | Kiedy go używać |
|---|---|
grpc (domyślny) | Natywny gRPC na HTTP/2 |
grpc-web | Serwer za proxy gRPC-Web |
connect | Serwer Connect-RPC |
Wywołania strumieniowe
Section titled “Wywołania strumieniowe”We wszystkich trzech trybach strumieniowych panel odpowiedzi wyświetla komunikaty na bieżąco. W scenariuszu służą do tego akcje Połączenie gRPC, Wysyłanie gRPC i Zamknięcie połączenia gRPC: połączenie pozostaje otwarte pomiędzy węzłami, każdy odebrany komunikat emituje zdarzenie, a zamknięcie wykonuje półzamknięcie po stronie klienta.
Tryb serwera
Section titled “Tryb serwera”Restorm potrafi hostować symulowany serwer gRPC: lista symulowanych metod, każda z własnym komunikatem odpowiedzi (tablica JSON w przypadku strumienia), kodem statusu, metadanymi końcowymi albo skryptem. Refleksja serwera jest udostępniana domyślnie, a TLS można skonfigurować, podając certyfikat i klucz w formacie PEM. Zob. Symulowanie usługi gRPC.
Fragmenty kodu
Section titled “Fragmenty kodu”Czternaście celów: grpcurl, grpc_cli, grpcurl w wersji gRPC-Web, curl
w wersji 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).