Closed2

PostmanでgRPCのモックサーバを立てみる

msakaimsakai

とりあえず全訳しつつざっと読む

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:

  1. 新しいgRPCリクエストを作成する。 詳細は新しいリクエストの作成を参照してください。
  2. Enter URLを選択します。
  3. Select a Protobuf APIを選択します。 リクエストのサービス定義タブが開きます。
  4. サービス定義タブでは、以下のいずれかの方法でprotobuf APIを入力できます:
  • Protobufスキーマを選択するか、リンクを貼り付ける - API選択ドロップダウンリストが開き、利用可能なAPIを参照して使用するAPIを選択できます。 ワークスペース内のProtobuf APIへのリンクを貼り付けることもできます。
  • .proto ファイルのインポート - .proto ファイルから新しい protobuf API を追加します。
  1. 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モックサーバの設定と使用 を参照してください。

msakaimsakai
  • sidebarの新規 / NewでgRPCのリクエストを作成する
  • proto読み込んでできた

メモ

  • protoができているならgoのコード生成してクライアント側で対応するインターフェース切って実装を進めるで良さそう?
このスクラップは6日前にクローズされました