web-dev-qa-db-ja.com

Postman Mock Serverの使用方法

私は 郵便配達員のモックを作成するためのここのガイド 郵便配達人のコレクションをフォローしました。モックは正常に作成されたようですが、モックサービスの使用方法がわかりません。

モックのURLが与えられましたが、リクエストの1つを指定するにはどうすればよいですか? https://{{mockid}}.mock.pstmn.ioにGETリクエストを発行すると、次の応答が返されます。

{
    "error": {
        "name": "mockRequestNotFoundError",
        "message": "We were unable to find any matching requests for the mock path (i.e. undefined) in your collection."
    }
}

上記と同じガイド によると、「モックを実行する」ための次のURL https://{{mockId}}.mock.pstmn.io/{{mockPath}}が、正確にはmockPathとは何ですか?

私のコレクション内にはたくさんのフォルダーがあり、これらのフォルダーの1つにはリクエストの例として応答があります。モックを通じてこのサンプル応答にアクセスするにはどうすればよいですか?事前にすべての助けをありがとう!

これがPostman Pro APIです 。これは、単に読み取りモックを作成する以上のことは述べていません。

7
Jim Aho

無関係なエラーが表示される同じ問題がありましたが、最終的に解決策を見つけました。残念ながら、私はPostmanのWebサイトでリファレンスを見つけることができません。しかし、これが私の解決策です:

Mockサーバーを作成するときに、最初のリクエストを定義します(GET api/v1/aboutな​​ど)。そのため、Mockサーバーが作成されますが、APIキーを取得してリクエストのヘッダーに(x-api-keyとして)配置した場合でも、エラーが返されます。意味がありませんが、リクエストを定義するだけでは不十分であることがわかりました。私にとっては、リクエストのサンプルを追加したときにのみ応答を返し始めました。

したがって、作成するリクエストごとに、少なくとも1つの例を作成することをお勧めします。送信したリクエストは、作成した例と一致し、一致したレスポンスが返されます。 bodyheadersおよびHTTPstatusを定義できます応答例のコード

私はPro Postmanサブスクリプションを持っていませんが、無料サブスクリプションを使用するとうまくいきました。

例を追加したり、編集のためにそれらの1つを選択したりするためのメニュー:enter image description here

例を定義するためのUI(本文、ヘッダー、ステータスを参照):enter image description here

リクエストページに戻る方法:enter image description here

これは私の例に基づいて私が得る正しい返答です:enter image description here

7
MehranTM

この例でリクエストするのがapi.domain.com/api/fooGETである場合、mockPathは/api/fooであり、モックエンドポイントはGETへのhttps://{{mockid}}.mock.pstmn.io/api/fooの呼び出しです。

HTTPリクエストメソッド および以下の画像に示すパス名はモックを構成します。

breaking down a url

使いやすさのために、モックサーバーはコレクションの上で使用されるように設計されています。 examples 内のリクエストは、それに添付されている応答とともにそのまま使用されます。フォルダーまたはコレクションの名前はパス名の一部ではなく、モックを使用するときにどこにも考慮されません。コレクションのモックとは、コレクション内のすべての例をモックすることを意味します。例は、要求と応答のタプルです。

オプションの応答ステータスコードを指定すると、同じパスの適切な応答を取得できます。これは、x-mock-response-codeヘッダーで指定できます。そのため、x-mock-response-code404として渡すと、パス名に一致し、ステータスコード404の応答を持つ例が返されます。

現在、パスが同じでドメインが異なる例があり、モックがそれらを区別できない場合は、最初の例を決定的に返します。

5