開発プロキシの使用は、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
}
]
}
}
]
}
statusCode
、nth
、または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
Dev Proxy