REST-API-Methoden in API Gateway einrichten
In API Gateway setzt sich eine API-Methode aus einer Methodenanfrage und eine Methodenantwort zusammen. Sie richten eine API-Methode ein, um zu definieren, was ein Client tun sollte oder tun muss, um eine Anforderung für den Zugriff auf den Service am Backend zu übermitteln und um die Antworten zu definieren, die der Client im Gegenzug erhält. Für die Eingabe können Sie Methodenanforderungs-Parameter oder eine anwendbare Nutzlast für den Client auswählen, um die erforderlichen oder optionalen Daten zur Laufzeit bereitzustellen. Für die Ausgabe bestimmen Sie den Statuscode der Methodenantwort, die Header und den geltenden Textkörper als Ziele denen Backend-Antwortdaten zugewiesen werden, bevor die Rückgabe an den Client erfolgt. Um den Client-Developer dabei zu unterstützen, das Verhalten und die Eingabe- und Ausgabeformate Ihrer API zu verstehen, können Sie Ihre API dokumentieren und ordnungsgemäße Fehlermeldungen für ungültige Anforderungen bereitstellen.
Eine API-Methodenanforderung ist eine HTTP-Anforderung. Um die Methodenanforderung einzurichten, konfigurieren Sie eine HTTP-Methode (oder einVerb), den Pfad zu einer API-Ressource, Header, geltende Parameter für Abfragezeichenfolgen. Außerdem konfigurieren Sie eine Nutzlast, wenn die HTTP-Methode POST
, PUT
oder PATCH
ist. Um zum Beispiel ein Haustier mit der PetStore-Beispiel-API abzurufen, definieren Sie die API-Methodenanforderung von GET
/pets/{petId}
, wobei {petId}
ein Pfadparameter ist, der eine Zahl zur Laufzeit annehmen kann.
GET /pets/1 Host: apigateway.us-east-1.amazonaws.com ...
Wenn der Client einen falschen Pfad angibt, zum Beispiel /pet/1
oder /pets/one
anstatt /pets/1
, wird eine Ausnahme ausgelöst.
Eine API-Methodenantwort ist eine HTTP-Antwort mit einem bestimmten Statuscode. Für eine Nicht-Proxy-Integration müssen Sie Methodenantworten einrichten, um die erforderlichen oder optionalen Ziele von Mappings anzugeben. Diese transformieren Integrationsantwort-Header oder einen Textkörper in verknüpfte Methodenantwort-Header oder einen Textkörper. Das Mapping kann so einfach wie eine identische Transformation200
-Methodenantwort ein Beispiel für die Weiterleitung einer unveränderten erfolgreichen Integrationsantwort.
200 OK Content-Type: application/json ... { "id": "1", "type": "dog", "price": "$249.99" }
In der Regel können Sie eine Methodenantwort entsprechend einer bestimmten Antwort vom Backend definieren. In der Regel handelt es sich dabei um alle 2XX-, 4XX- und 5XX-Antworten. Dies kann jedoch nicht praktikabel sein, da Sie häufig nicht alle Antworten, die ein Backend möglicherweise zurückgibt, im Vorfeld wissen können. In der Praxis können Sie eine Methodenantwort als Standard festlegen, um die unbekannten oder nicht zugewiesenen Antworten vom Backend zu verarbeiten. Es ist ein bewährtes Verfahren, die 500-Antwort als Standard festzulegen. In jedem Fall müssen Sie mindestens eine Methodenantwort für Nicht-Proxy-Integrationen einrichten. Andernfalls gibt API Gateway eine 500-Fehler-Antwort an den Client zurück, selbst wenn die Anfrage am Backend erfolgreich ist.
Zur Unterstützung eines stark typisierten SDKs, z. B. ein Java-SDK für Ihre API, sollten Sie das Datenmodell zur Eingabe für die Methodenanforderung und das Datenmodell zur Ausgabe der Methodenantwort definieren.
Themen