Freigeben über


Überprüfen von API-Anforderungen, die von Clouddiensten ausgestellt wurden

Wenn Sie Ihre Anwendung in Clouddienste integrieren, besteht eine der Herausforderungen, mit denen Sie möglicherweise konfrontiert sind, darin zu verstehen, wie der Clouddienst mit den von ihr genutzten APIs interagiert. Die Möglichkeit, API-Anforderungen zu prüfen, ist besonders wichtig, wenn Sie Probleme beheben oder wenn Sie versuchen, zu verstehen, wie der Clouddienst funktioniert. In der Regel ist es schwierig, da Sie keinen Zugriff auf die Laufzeit des Clouddiensts haben und möglicherweise auch keinen Zugriff auf die Überwachungstools für die Cloud-API haben. Mithilfe von Dev Proxy- und Dev-Tunneln können Sie die API-Anforderungen prüfen, die Clouddienste für Cloud-APIs ausstellen.

Wichtig

Bevor Sie fortfahren, installieren Sie Entwicklertunnel , und konfigurieren Sie das Tool für die Verwendung.

So rufen Clouddienste Cloud-APIs auf

Wenn Sie Ihre Anwendung in Clouddienste integrieren, ruft der Clouddienst Ihre API in der Cloud auf. Das folgende Diagramm veranschaulicht dieses Szenario:

Diagramm, das zeigt, wie ein Clouddienst eine Cloud-API aufruft.

Um API-Anforderungen zu prüfen, die der Clouddienst ausgibt, benötigen Sie Zugriff auf die Überwachungstools für die Cloud-API. Häufig haben Sie keinen Zugriff auf diese Tools. Sie können diese Einschränkung umgehen, indem Sie eine Stagingumgebung verwenden. Es ist jedoch zeitaufwändig, eine Stagingumgebung einzurichten und aufrechtzuerhalten. Wenn Sie nicht der Besitzer der Cloud-API sind, können Sie möglicherweise überhaupt keine Stagingumgebung einrichten.

Überprüfen von API-Anforderungen mithilfe von Dev-Proxy- und Dev-Tunneln

Mithilfe von Dev Proxy- und Dev-Tunneln können Sie die API-Anforderungen überprüfen, die der Clouddienst für die Cloud-API ausgibt.

Diagramm, das zeigt, wie Sie Cloud-API-Aufrufe mithilfe von Dev-Tunneln und Dev Proxy prüfen können.

Anstatt die Cloud-API direkt aufzurufen, konfigurieren Sie den Clouddienst, um den Dev-Tunnel aufzurufen, den Sie auf Ihrem lokalen Computer (1) ausführen. Sie konfigurieren den Dev-Tunnel für die Verwendung eines Hostheaders, den Dev Proxy abfangen soll. Jedes Mal, wenn der Clouddienst den Dev-Tunnel aufruft, übergibt er die Anforderung an Dev Proxy, der ihn abfangen (2). Mithilfe des Dev Proxy RewritePlugin ändern Sie die URL der abgefangenen Anforderung und leiten sie an die Cloud-API (3) weiter. Die Cloud-API verarbeitet die Anforderung und gibt eine Antwort auf Dev Proxy (4) zurück. Dev Proxy übergibt die Antwort auf den Dev-Tunnel (5), der sie an den Clouddienst weiterleitet (6). Da die Anforderung über Ihren lokalen Computer weitergeleitet wird, können Sie deren Informationen überprüfen, einschließlich URL, Header und Textkörper sowie der Antwort aus der Cloud-API.

Szenario

Angenommen, Sie möchten API-Anforderungen prüfen, die ein Clouddienst an die Demo-JSONPlaceholder-API ausgibt, die sich unter https://jsonplaceholder.typicode.com. Durch die Kombination von Dev Proxy- und Dev-Tunneln können Sie die Anforderungen abfangen und deren Informationen überprüfen.

Sie können die Anforderungen entweder mithilfe von Tools für Entwicklungstunnelüberprüfungen oder mithilfe des Dev Proxy DevToolsPlugin überprüfen. Beide Tools verwenden Chrome Dev Tools, um Informationen zu abgefangenen Anforderungen und Antworten anzuzeigen. Wenn Sie die Tools für die Überprüfungen von Dev-Tunneln verwenden, wird die Url des Entwicklungstunnels als Anforderungs-URL angezeigt. Wenn Sie dev Proxy DevToolsPlugin verwenden, sehen Sie im Vergleich dazu, wie Dev Proxy die Anforderung abfangen kann, indem Sie entweder die lokale oder die umgeschriebene URL verwenden.

Überprüfen von API-Anforderungen mithilfe von Dev-Proxy-, Entwicklungstunnel- und Entwicklungstunnel-Inspektionstools

  1. Konfigurieren von Dev Proxy zum Abfangen von Anforderungen an https://jsonplaceholder.typicode.com und http://jsonplaceholder.typicode.local:

    {
      "$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.23.0/rc.schema.json",
      "plugins": [
        {
          "name": "RewritePlugin",
          "enabled": true,
          "pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
          "configSection": "rewritePlugin"
        }
      ],
      "urlsToWatch": [
        "https://jsonplaceholder.typicode.com/*",
        "http://jsonplaceholder.typicode.local/*"
      ],
      "rewritePlugin": {
        "rewritesFile": "devproxy-rewrites.json"
      },
      "logLevel": "information",
      "newVersionNotification": "stable",
      "showSkipMessages": true
    }
    

    Die Konfigurationsdatei verwendet rewritePlugin, um die URL der abgefangenen Anforderungen neu zu schreiben. Außerdem wird Dev Proxy so konfiguriert, dass Anforderungen an https://jsonplaceholder.typicode.com und http://jsonplaceholder.typicode.local URLs abgefangen werden.

    Hinweis

    Obwohl es nicht erforderlich ist, eine .local Domäne zu verwenden, empfiehlt es sich, zwischen den tatsächlichen und abgefangenen Anforderungen zu unterscheiden. Beachten Sie außerdem, dass Sie für die .local Domäne das HTTP-Protokoll anstelle von HTTPS verwenden. Dev-Tunnel unterstützen https nicht für Routinganforderungen an benutzerdefinierte Hostheader auf Ihrem lokalen Computer, weshalb Sie HTTP verwenden müssen.

  2. Erstellen Sie eine Umschreibungsdatei mit dem Namen devproxy-rewrites.json , die die URL der abgefangenen Anforderungen ändert:

    {
      "rewrites": [
        {
          "in": {
            "url": "^http://jsonplaceholder.typicode.local(.*)"
          },
          "out": {
            "url": "https://jsonplaceholder.typicode.com$1"
          }
        }
      ]
    }
    

    Die Umschreibdatei ändert die URL der abgefangenen Anforderungen von http://jsonplaceholder.typicode.local in https://jsonplaceholder.typicode.com.

  3. Starten Sie Dev Proxy, indem Sie in der Befehlszeile devproxyausgeführt werden.

    Screenshot der Befehlszeile mit ausgeführtem Dev-Proxy.

  4. Starten Sie den Dev-Tunnel, indem Sie in der Befehlszeile devtunnel host --host-header jsonplaceholder.typicode.local --port-numbers 8000 --allow-anonymousausgeführt werden.

    Screenshot der Befehlszeile, in der Dev Proxy und Dev Tunnel ausgeführt werden.

    Mit diesem Befehl öffnen Sie einen neuen Entwicklungstunnel auf Ihrem Computer. Sie ordnen ihn dem Port 8000 zu, an dem Dev Proxy auf eingehende Anforderungen lauscht. Sie geben auch den Hostheader an, den Dev Proxy abfangen soll.

  5. Beachten Sie die URL des Dev-Tunnels, den Sie zum Konfigurieren des Clouddiensts verwenden können, um beispielsweise https://tunnel_id-8000.euw.devtunnels.msIhren lokalen Computer aufzurufen.

  6. Öffnen Sie in einem Webbrowser die Url der Dev-Tunnel-Inspektion, z https://tunnel_id-8000-inspect.euw.devtunnels.ms. B. .

  7. Simulieren Sie einen Clouddienst, der die Cloud-API aufruft, indem Sie die Dev-Tunnel-URL verwenden, indem Sie in der Befehlszeile ausgeführt werden: curl https://tunnel_id-8000.euw.devtunnels.ms/posts/1

    Hinweis

    Beachten Sie, dass der Hostname der URL des Dev-Tunnels auf Ihrem Computer entspricht. Der Pfad entspricht dem Pfad der API, die Sie überprüfen möchten.

    Screenshot der Befehlszeile, die Dev Proxy und einen Dev-Tunnel ausführt und den Dev-Tunnel aufruft.

  8. Beachten Sie, wie Dev Proxy die Anforderung abfangen und an die Cloud-API weiterleitet und schließlich die Antwort an den Client zurückgibt.

  9. Beachten Sie im Webbrowser die Informationen über die abgefangene Anforderung und die Antwort von der Cloud-API.

    Screenshot eines Webbrowsers mit Tools für Entwicklungstunnelüberprüfungen mit der abgefangenen Anforderung.

    Hinweis

    Beachten Sie, dass die url der aufgezeichneten Anforderung die URL des Dev-Tunnels ist. Der aufgezeichnete Hostheader ist der Hostheader, den Dev Proxy abfangen kann.

  10. Schließen Sie den Dev-Tunnel, und beenden Sie Dev Proxy, indem Sie in ihren jeweiligen Sitzungen in der Befehlszeile STRG+C drücken.

Überprüfen von API-Anforderungen mithilfe von Dev Proxy und DevToolsPlugin

Eine weitere Möglichkeit zum Überprüfen der API-Anforderungen, die der Clouddienst ausgibt, ist die Verwendung des Dev Proxy DevToolsPlugin. Der Unterschied zwischen der Verwendung der DevToolsPlugin- und der Dev Tunnels-Inspektionstools besteht darin, dass devToolsPlugin zeigt, wie Dev Proxy die Anforderung abfangen kann, entweder mithilfe der lokalen oder der umgeschriebenen URL.

Konfigurieren von Dev Proxy für die Verwendung des DevToolsPlugin zum Überprüfen von API-Anforderungen mithilfe der abgefangenen URL

Zunächst konfigurieren wir Dev Proxy für die Prüfung von Cloud-API-Anforderungen. Konfigurieren wir devToolsPlugin so, dass die Informationen zu der URL angezeigt werden, bevor Dev Proxy sie neu schreibt.

  1. Aktualisieren Sie die Dev Proxy-Konfigurationsdatei für die Verwendung des DevToolsPlugin:

    {
      "$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.23.0/rc.schema.json",
      "plugins": [
        {
          "name": "DevToolsPlugin",
          "enabled": true,
          "pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll"
        },
        {
          "name": "RewritePlugin",
          "enabled": true,
          "pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
          "configSection": "rewritePlugin"
        }
      ],
      "urlsToWatch": [
        "https://jsonplaceholder.typicode.com/*",
        "http://jsonplaceholder.typicode.local/*"
      ],
      "rewritePlugin": {
        "rewritesFile": "devproxy-rewrites.json"
      },
      "logLevel": "information",
      "newVersionNotification": "stable",
      "showSkipMessages": true
    }
    

    Hinweis

    Beachten Sie, dass wir das DevToolsPlugin vor dem RewritePlugin hinzufügen. Durch das erste Hinzufügen von DevToolsPlugin werden die Informationen zu der abgefangenen Anforderung angezeigt, bevor sie neu geschrieben wird.

  2. Starten Sie Dev Proxy, indem Sie in der Befehlszeile devproxyausgeführt werden. Beachten Sie, dass Dev Proxy ein Webbrowserfenster mit sichtbaren Chrome Dev Tools öffnet.

  3. Starten Sie den Dev-Tunnel, indem Sie in der Befehlszeile devtunnel host --host-header jsonplaceholder.typicode.local --port-numbers 8000 --allow-anonymousausgeführt werden.

  4. Simulieren Sie einen Clouddienst, der die Cloud-API aufruft, indem Sie die Dev-Tunnel-URL verwenden, indem Sie in der Befehlszeile ausgeführt werden: curl https://tunnel_id-8000.euw.devtunnels.ms/posts/1

  5. Beachten Sie im Webbrowser mit Chrome Dev Tools die Informationen über die abgefangene Anforderung und die Antwort von der Cloud-API.

    Screenshot eines Webbrowsers mit Tools für Dev-Proxyüberprüfungen mit der abgefangenen Anforderung.

    Hinweis

    Beachten Sie, dass die url der aufgezeichneten Anforderung die URL der Cloud-API ist. Der aufgezeichnete Hostheader ist der Hostheader, den Dev Proxy abfangen kann.

  6. Schließen Sie den Dev-Tunnel, und beenden Sie Dev Proxy, indem Sie in ihren jeweiligen Sitzungen in der Befehlszeile STRG+C drücken.

Konfigurieren von Dev Proxy für die Verwendung von DevToolsPlugin zum Überprüfen von API-Anforderungen mithilfe der umgeschriebenen URL

Als Nächstes aktualisieren wir die Dev Proxy-Konfiguration, um die Informationen zur umgeschriebenen URL anzuzeigen.

  1. Aktualisieren Sie die Dev Proxy-Konfigurationsdatei, indem Sie den DevToolsPlugin nach dem RewritePlugin verschieben:

    {
      "$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.23.0/rc.schema.json",
      "plugins": [
        {
          "name": "RewritePlugin",
          "enabled": true,
          "pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
          "configSection": "rewritePlugin"
        },
        {
          "name": "DevToolsPlugin",
          "enabled": true,
          "pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll"
        }
      ],
      "urlsToWatch": [
        "https://jsonplaceholder.typicode.com/*",
        "http://jsonplaceholder.typicode.local/*"
      ],
      "rewritePlugin": {
        "rewritesFile": "devproxy-rewrites.json"
      },
      "logLevel": "information",
      "newVersionNotification": "stable",
      "showSkipMessages": true
    }
    
  2. Starten Sie Dev Proxy, indem Sie in der Befehlszeile devproxyausgeführt werden. Beachten Sie, dass Dev Proxy ein Webbrowserfenster mit sichtbaren Chrome Dev Tools öffnet.

  3. Starten Sie den Dev-Tunnel, indem Sie in der Befehlszeile devtunnel host --host-header jsonplaceholder.typicode.local --port-numbers 8000 --allow-anonymousausgeführt werden.

  4. Simulieren Sie einen Clouddienst, der die Cloud-API aufruft, indem Sie die Dev-Tunnel-URL verwenden, indem Sie in der Befehlszeile ausgeführt werden: curl https://tunnel_id-8000.euw.devtunnels.ms/posts/1

  5. Beachten Sie im Webbrowser mit Chrome Dev Tools die Informationen über die abgefangene Anforderung und die Antwort von der Cloud-API.

    Screenshot eines Webbrowsers mit Tools für Dev-Proxyüberprüfungen mit der abgefangenen Anforderung mit Cloud-API-URLs.

    Hinweis

    Beachten Sie, dass sowohl die aufgezeichnete Anforderungs-URL als auch der Hostheader die URL der Cloud-API anzeigen.

  6. Schließen Sie den Dev-Tunnel, und beenden Sie Dev Proxy, indem Sie in ihren jeweiligen Sitzungen in der Befehlszeile STRG+C drücken.

Zusammenfassung

Mithilfe von Dev Proxy- und Dev-Tunneln können Sie die API-Anforderungen prüfen, die Clouddienste für Cloud-APIs ausstellen. Sie können entweder Dev Tunnels-Inspektionstools oder dev Proxy DevToolsPlugin verwenden, um die Anforderungen zu prüfen. Beide Tools zeigen Ihnen die Informationen zu den abgefangenen Anforderungen, einschließlich url, Header und Textkörper sowie die Antwort aus der Cloud-API. Mithilfe von Dev Proxy- und Dev-Tunneln können Sie besser verstehen, wie Clouddienste mit Cloud-APIs interagieren und Probleme effektiver beheben.

Nächste Schritte

Erfahren Sie mehr über das RewritePlugin.