gRPC
Clic destro nell’albero ▸ Aggiungi ▸ Richiesta gRPC.

Configurazione
Section titled “Configurazione”| Campo | Ruolo |
|---|---|
| URL | host:port del server |
| Servizio / Metodo | Il servizio e la RPC chiamata |
| Tipo di chiamata | unary, server-stream, client-stream, bidirectional-stream |
| Messaggio di richiesta | Il messaggio, in JSON |
| Metadati | Le coppie chiave / valore trasmesse con la chiamata (è qui che passano le credenziali) |
Da dove viene la definizione del servizio
Section titled “Da dove viene la definizione del servizio”Tre sorgenti possibili, in ordine di priorità:
- un insieme di descrittori ottenuto tramite reflection del server — è ciò che imposta l’importazione per reflection, e prevale sul resto;
- il contenuto
.protoinline, archiviato nel progetto; - un percorso verso un
.protosul disco.
La prima opzione ha una conseguenza pratica importante: una richiesta importata per reflection continua a funzionare offline, senza che il server sia raggiungibile.
Importare per reflection
Section titled “Importare per reflection”Dalla finestra modale di importazione gRPC, occorre indicare host:port: Restorm
interroga il servizio di reflection, carica i descrittori e costruisce l’albero —
una cartella per servizio, una richiesta per RPC, con un messaggio di esempio.
Ricollegarsi allo stesso indirizzo viene riconosciuto come una risincronizzazione e aggiorna l’albero esistente invece di duplicarlo.
Se il server non implementa la reflection, Restorm lo dice esplicitamente: in tal
caso occorre importare il .proto. Si veda
Importare un .proto gRPC.
Trasporti
Section titled “Trasporti”Sono disponibili tre trasporti:
| Trasporto | Quando usarlo |
|---|---|
grpc (predefinito) | gRPC nativo su HTTP/2 |
grpc-web | Server dietro un proxy gRPC-Web |
connect | Server Connect-RPC |
Chiamate in streaming
Section titled “Chiamate in streaming”Per i tre modi in streaming, il pannello di risposta mostra i messaggi man mano. In uno scenario, si usano le azioni Connessione gRPC, Invio gRPC e Chiusura gRPC: la connessione resta aperta tra i riquadri, ogni messaggio ricevuto emette un evento e la chiusura effettua la semi-chiusura lato client.
Modalità server
Section titled “Modalità server”Restorm sa ospitare un server gRPC di simulazione: un elenco di metodi simulati, ciascuno con il proprio messaggio di risposta (un array JSON per uno streaming), il proprio codice di stato, i propri metadati finali oppure uno script. La reflection del server è esposta per impostazione predefinita e TLS è configurabile con certificato e chiave in formato PEM. Si veda Simulare un’API gRPC.
Snippet di codice
Section titled “Snippet di codice”Quattordici destinazioni: grpcurl, grpc_cli, grpcurl in gRPC-Web, curl in
Connect-RPC, JavaScript e TypeScript (@grpc/grpc-js), Python (grpcio), Go,
Java (grpc-java), C# (Grpc.Net.Client), Ruby, Rust (tonic), Kotlin
(grpc-kotlin), Swift (grpc-swift).