次の方法で共有


インターネット経由でモック応答をシミュレートする

開発プロキシの使用は、API をモックする最も簡単な方法です。 フロントエンドを構築していて、API の準備ができていない場合でも、バックエンドを外部サービスと統合する必要がある場合でも、異なる応答でアプリケーションをテストする必要がある場合でも、Dev Proxy は API 応答をシミュレートするのに役立ちます。 API をクラウド サービスと統合する場合は、クラウド サービスがアクセスできるように、インターネット経由で API を公開する必要があります。 Dev Proxy によってシミュレートされたモック応答をインターネット経由で公開するには、 Dev トンネルを使用します。 この記事では、Dev トンネルを使用してインターネット経由で公開されるようにモック応答を構成する方法について説明します。

モック応答を定義する

開発プロキシによってシミュレートされたモック応答をインターネット経由で公開するには、まずモックを構成します。

Von Bedeutung

現時点では、Dev トンネルでは、インターネット経由での HTTP モック応答の公開のみがサポートされています。

モック応答を作成する

カスタム API のモック応答を含む mocks.json という名前のファイルを作成します。 たとえば、GET要求をhttp://api.contoso.com/productsに対してシミュレートするには、次を定義します。

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/mockresponseplugin.mocksfile.schema.json",
  "mocks": [
    {
      "request": {
        "url": "http://api.contoso.com/products",
        "method": "GET"
      },
      "response": {
        "headers": [
          {
            "name": "content-type",
            "value": "application/json"
          }
        ],
        "body": [
          {
            "id": 1,
            "name": "Contoso Coffee Beans",
            "price": 12.99
          },
          {
            "id": 2,
            "name": "Contoso Espresso Machine",
            "price": 249.99
          }
        ]
      }
    }
  ]
}

statusCodenth、またはbodyFragmentを使用して、エラー、バイナリ応答、または条件付き応答をシミュレートすることもできます。

MockResponsePlugin の構成

devproxyrc.jsonという名前の開発プロキシ構成ファイルを作成し、MockResponsePluginを有効にします。

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/rc.schema.json",
  "plugins": [
    {
      "name": "MockResponsePlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "mocksPlugin"
    }
  ],
  "urlsToWatch": [
    "http://api.contoso.com/*"
  ],
  "mocksPlugin": {
    "mocksFile": "mocks.json"
  }
}

Von Bedeutung

複数のエンドポイントを照合するには、 urlsToWatchでワイルドカードを使用します。 正しい一致を確保するには、 mocks.jsonの最初に、より具体的なモックを配置します。

構成の確認

開発プロキシを実行し、モック API に要求を送信して、モックが正しく動作していることを確認します。

現在の作業ディレクトリの devproxyrc.json という名前のファイルに開発プロキシ構成を保存したと仮定して、開発プロキシを起動します。

devproxy

開発プロキシを介して要求を送信してモックをテストします。

curl -x http://127.0.0.1:8000 http://api.contoso.com/products

You should receive the mocked product list defined in mocks.json で定義されているモック製品リストを受け取ってください。

Dev トンネルを使用してモック API を公開する

モック応答をインターネット経由で公開するには、開発プロキシ ポートにマップされた開発トンネルを開始します。 モック API 用に構成されたホスト名を使用するようにトンネルを構成します。

Warnung

開発トンネルへの匿名アクセスを許可すると、インターネット上のすべてのユーザーが、開発トンネル ID を推測できる場合は、ローカル サーバーに接続できます。

devtunnel host -p 8000 -a --host-header api.contoso.com

このコマンドは、Dev Proxy ポートをパブリック HTTP URL にマップします。 これで、任意の場所からモック API にアクセスできるようになりました。

curl http://<your-tunnel-id>-8000.<region>.devtunnels.ms/products