Sdílet prostřednictvím


Simulace napodobených odpovědí přes internet

Použití Dev Proxy je nejjednodušší způsob, jak simulovat rozhraní API. Bez ohledu na to, jestli vytváříte front-end a rozhraní API ještě není připravené, musíte svůj back-end integrovat s externí službou nebo chcete otestovat aplikaci s různými odpověďmi, dev Proxy vám může pomoct simulovat odpovědi rozhraní API. Když integrujete rozhraní API s cloudovými službami, musíte své rozhraní API zveřejnit přes internet, aby k němu mohla cloudová služba přistupovat. Pokud chcete zveřejnit napodobené odpovědi simulované Dev Proxy přes internet, použijte Dev Tunnels. Tento článek vysvětluje, jak nakonfigurovat napodobení odpovědí, které mají být zpřístupněny přes internet pomocí Dev Tunnels.

Definování napodobených odpovědí

Pokud chcete vystavit přes internet výstupy simulované pomocí Dev Proxy, začněte konfigurací napodobenin.

Důležité

V tuto chvíli Dev Tunnels podporují pouze zpřístupnění fiktivních odpovědí HTTP přes internet.

Vytváření napodobených odpovědí

Vytvořte soubor s názvem mocks.json , který obsahuje napodobené odpovědi pro vaše vlastní rozhraní API. Pokud chcete například simulovat GET požadavek na http://api.contoso.com/products, definujte:

{
  "$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
          }
        ]
      }
    }
  ]
}

Můžete také simulovat chyby, binární odpovědi nebo podmíněné odpovědi pomocí , statusCodenthnebo bodyFragment.

Nakonfigurujte MockResponsePlugin

Vytvořte konfigurační soubor dev proxy serveru s názvem devproxyrc.json a povolte: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"
  }
}

Důležité

Pokud chcete spárovat více koncových bodů, použijte zástupné kóty v urlsToWatch. Abyste zajistili správné párování, umístěte nejprve konkrétnější výřezy do svého mocks.json.

Ověření konfigurace

Spuštěním dev proxy serveru a odesláním požadavků do napodobeného rozhraní API ověřte, že napodobené rozhraní API správně fungují.

Spusťte Dev Proxy za předpokladu, že jste konfiguraci dev proxy uložili do souboru s názvem devproxyrc.json v aktuálním pracovním adresáři:

devproxy

Otestujte svůj mockup odesláním požadavku prostřednictvím Dev Proxy.

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

Měli byste obdržet napodobený seznam produktů definovaný v mocks.json.

Zpřístupnit fiktivní rozhraní API pomocí vývojářských tunelů

Pokud chcete zveřejnit testovací odpovědi přes internet, spusťte vývojový tunel mapovaný na port Dev Proxy. Nakonfigurujte tunel tak, aby používal název hostitele nakonfigurovaný pro napodobené rozhraní API.

Výstraha

Povolení anonymního přístupu k vývojovému tunelu znamená, že se kdokoli na internetu může připojit k místnímu serveru, pokud může uhodnout ID vývojového tunelu.

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

Tento příkaz mapuje port dev Proxy na veřejnou adresu URL HTTP. Teď máte přístup k napodobení rozhraní API odkudkoli:

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