コンテンツにスキップ

gRPC

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

gRPC タブ:サーバーのアドレス、呼び出しの種類「Unary」、解決されたサービス/メソッドのパス、JSON 形式のリクエストメッセージ、そしてメタデータ

フィールド役割
URLサーバーの host:port
サービス / メソッド呼び出すサービスと RPC
呼び出しの種類unaryserver-streamclient-streambidirectional-stream
リクエストメッセージメッセージ本体、JSON 形式
メタデータ呼び出しとともに送信されるキー / 値のペア(認証情報はここに入れます)

優先順位の高い順に、3 つのソースがあります。

  1. サーバーリフレクションで取得したディスクリプターセット — リフレクションによるインポートが登録するもので、他のソースより優先されます。
  2. プロジェクトに保存されたインラインの .proto の内容
  3. ディスク上の .proto へのパス

1 番目の選択肢には、実用上の重要な帰結があります。 リフレクションでインポートしたリクエストは、サーバーに到達できなくてもオフラインで動作し続けます

リフレクションでインポートする

Section titled “リフレクションでインポートする”

gRPC インポートのダイアログで host:port を指定すると、 Restorm がリフレクションサービスに問い合わせ、ディスクリプターを読み込んでツリーを構築します。 サービスごとに 1 つのフォルダー、RPC ごとに 1 つのリクエストが作られ、サンプルメッセージが入ります。

同じアドレスに再接続すると再同期として認識され、既存のツリーを複製せずに更新します。

サーバーがリフレクションを実装していない場合、Restorm は明示的にそう伝えます。 その場合は .proto をインポートしてください。 gRPC の .proto をインポートするを参照してください。

3 つのトランスポートを利用できます。

トランスポート使う場面
grpc(既定)HTTP/2 上のネイティブ gRPC
grpc-webgRPC-Web プロキシの背後にあるサーバー
connectConnect-RPC のサーバー

3 つのストリーミングモードのいずれでも、レスポンスパネルにメッセージが届いた順に表示されます。 シナリオでは、gRPC 接続gRPC 送信gRPC 接続を閉じる のアクションを使います。 接続はボックス間で開いたまま維持され、受信したメッセージごとにイベントが発行され、 クローズはクライアント側のハーフクローズを実行します。

Restorm は gRPC のモックサーバーをホストできます。 モックするメソッドのリストを作り、それぞれにレスポンスメッセージ(ストリームの場合は JSON 配列)、 ステータスコード、トレーラーメタデータ、あるいはスクリプトを設定します。 サーバーリフレクションは既定で公開され、TLS は PEM 形式の証明書と鍵で設定できます。 gRPC API をシミュレートするを参照してください。

14 のターゲットがあります。grpcurlgrpc_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)。