PostmanでgRPCのモックサーバを立てみる
とりあえず全訳しつつざっと読む
Create and use gRPC mock servers
APIファーストの設計ライフサイクルでは、新しいAPIエンドポイントに依存する新機能を設計しているかもしれないが、別のチームがそれらのエンドポイントの実装を担当しており、まだ完成していない。 これに阻まれる代わりに、モックサーバーを使うことができる。モックサーバーはAPIのエンドポイントへのリクエストに対してサンプルデータを返し、実際のAPIの動作をシミュレートする。 モックサーバーを使えば、APIが他のチームに実装される前にテストすることができる。
Using a gRPC mock server
gRPCモックサーバーを作成する前に、API定義が必要です。 これはワークスペース内のAPI、インポートしたいprotobuf(プロトコルバッファ)ファイル、またはPostman API Builderを使って新しいAPIを作成することができます。
To create the gRPC mock server, do the following:
- 新しいgRPCリクエストを作成する。 詳細は新しいリクエストの作成を参照してください。
- Enter URLを選択します。
- Select a Protobuf APIを選択します。 リクエストのサービス定義タブが開きます。
- サービス定義タブでは、以下のいずれかの方法でprotobuf APIを入力できます:
- Protobufスキーマを選択するか、リンクを貼り付ける - API選択ドロップダウンリストが開き、利用可能なAPIを参照して使用するAPIを選択できます。 ワークスペース内のProtobuf APIへのリンクを貼り付けることもできます。
- .proto ファイルのインポート - .proto ファイルから新しい protobuf API を追加します。
- APIを選択したら、もう一度[Enter URL]を選択し、[Use Mock URL for (API名)]を選択します。
モックサーバーが自動的に生成され、使用できるようになります。 リクエストURLは、ランダムな名前で始まり、.srv.pstmn.ioで終わるサーバ名になります。 メソッドを選択し、Invokeを選択すると、リクエストはランダムな値のレスポンスを受け取ります。
モックサーバーはprotobuf APIの変更に基づいて動的に更新されます。 protobuf APIに変更が加えられた場合、モックサーバーへのリクエストは自動的に変更を実装します。
Reusing mock server responses
モック・サーバーにリクエストするたびに、異なるランダムなデータが返される。 しかし、テストを書いている場合は、毎回同じレスポンスを返す必要があるかもしれません。 このような場合は、各レスポンスのシード・メタデータを使用する。 シードはレスポンスのメタデータにある乱数である。 リクエストでseedを渡すと、毎回同じレスポンスが返されます。
詳細の手順は略
gPRCのモックサーバはPostmanのモックサーバ機能とは独立しています。 他のAPIでモックサーバを使う方法については Postmanモックサーバの設定と使用 を参照してください。
- sidebarの新規 / NewでgRPCのリクエストを作成する
- proto読み込んでできた
メモ
- protoができているならgoのコード生成してクライアント側で対応するインターフェース切って実装を進めるで良さそう?