gRPC
ツリー内で右クリック ▸ 追加 ▸ gRPC リクエスト。

| フィールド | 役割 |
|---|---|
| URL | サーバーの host:port |
| サービス / メソッド | 呼び出すサービスと RPC |
| 呼び出しの種類 | unary、server-stream、client-stream、bidirectional-stream |
| リクエストメッセージ | メッセージ本体、JSON 形式 |
| メタデータ | 呼び出しとともに送信されるキー / 値のペア(認証情報はここに入れます) |
サービス定義の取得元
Section titled “サービス定義の取得元”優先順位の高い順に、3 つのソースがあります。
- サーバーリフレクションで取得したディスクリプターセット — リフレクションによるインポートが登録するもので、他のソースより優先されます。
- プロジェクトに保存されたインラインの
.protoの内容。 - ディスク上の
.protoへのパス。
1 番目の選択肢には、実用上の重要な帰結があります。 リフレクションでインポートしたリクエストは、サーバーに到達できなくてもオフラインで動作し続けます。
リフレクションでインポートする
Section titled “リフレクションでインポートする”gRPC インポートのダイアログで host:port を指定すると、
Restorm がリフレクションサービスに問い合わせ、ディスクリプターを読み込んでツリーを構築します。
サービスごとに 1 つのフォルダー、RPC ごとに 1 つのリクエストが作られ、サンプルメッセージが入ります。
同じアドレスに再接続すると再同期として認識され、既存のツリーを複製せずに更新します。
サーバーがリフレクションを実装していない場合、Restorm は明示的にそう伝えます。
その場合は .proto をインポートしてください。
gRPC の .proto をインポートするを参照してください。
トランスポート
Section titled “トランスポート”3 つのトランスポートを利用できます。
| トランスポート | 使う場面 |
|---|---|
grpc(既定) | HTTP/2 上のネイティブ gRPC |
grpc-web | gRPC-Web プロキシの背後にあるサーバー |
connect | Connect-RPC のサーバー |
ストリーミング呼び出し
Section titled “ストリーミング呼び出し”3 つのストリーミングモードのいずれでも、レスポンスパネルにメッセージが届いた順に表示されます。 シナリオでは、gRPC 接続、gRPC 送信、gRPC 接続を閉じる のアクションを使います。 接続はボックス間で開いたまま維持され、受信したメッセージごとにイベントが発行され、 クローズはクライアント側のハーフクローズを実行します。
サーバーモード
Section titled “サーバーモード”Restorm は gRPC のモックサーバーをホストできます。 モックするメソッドのリストを作り、それぞれにレスポンスメッセージ(ストリームの場合は JSON 配列)、 ステータスコード、トレーラーメタデータ、あるいはスクリプトを設定します。 サーバーリフレクションは既定で公開され、TLS は PEM 形式の証明書と鍵で設定できます。 gRPC API をシミュレートするを参照してください。
コードスニペット
Section titled “コードスニペット”14 のターゲットがあります。grpcurl、grpc_cli、gRPC-Web 版の grpcurl、
Connect-RPC 版の curl、JavaScript と TypeScript(@grpc/grpc-js)、Python(grpcio)、Go、
Java(grpc-java)、C#(Grpc.Net.Client)、Ruby、Rust(tonic)、Kotlin(grpc-kotlin)、
Swift(grpc-swift)。