Richten Sie eine Methodenantwort in Gateway ein API - APIAmazon-Gateway

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Richten Sie eine Methodenantwort in Gateway ein API

Eine API Methodenantwort kapselt die Ausgabe einer API Methodenanforderung, die der Client erhält. Die Ausgabedaten umfassen einen HTTP Statuscode, einige Header und möglicherweise einen Hauptteil.

Mit Nicht-Proxy-Integrationen können die angegebenen Antwortparameter und Textkörper von den zugeordneten Integrationsantwortdaten oder bestimmten statischen Werten entsprechend der Mappings zugewiesen werden. Diese Mappings werden in der Integrationsantwort beschrieben. Das Mapping kann eine identische Transformation sein, die die Integrationsantwort unverändert weiterleitet.

Bei einer Proxyintegration leitet API Gateway die Backend-Antwort automatisch an die Methodenantwort weiter. Sie müssen die API Methodenantwort nicht einrichten. Bei der Lambda-Proxyintegration muss die Lambda-Funktion jedoch ein Ergebnis dieses Ausgabeformats zurückgeben, damit API Gateway die Integrationsantwort erfolgreich einer Methodenantwort zuordnen kann.

Programmatisch gesehen läuft die Einrichtung der Methodenantwort darauf hinaus, eine MethodResponseAPIGateway-Ressource zu erstellen und die Eigenschaften von statusCode, und festzulegen. responseParametersresponseModels

Wenn Sie Statuscodes für eine API Methode festlegen, sollten Sie einen als Standard wählen, um jede Integrationsantwort auf einen unerwarteten Statuscode zu behandeln. Es ist sinnvoll, 500 als Standard festzulegen, da dies mit dem Umwandeln von ansonsten nicht zugeordneten Antworten als serverseitiger Fehler gleichzusetzen ist. Aus informativen Gründen legt die API Gateway-Konsole die 200 Antwort als Standardantwort fest. Sie können dies jedoch auf die 500-Antwort zurücksetzen.

Um eine Methodenantwort einzurichten, müssen Sie die Methodenanforderung erstellt haben.

Einrichten des Statuscodes der Methodenantwort

Der Statuscode einer Methodenantwort definiert einen Antworttyp. Beispiel: Antworten von 200, 400 und 500 geben jeweils erfolgreiche, clientseitige Fehler und serverseitige Fehlerantworten an.

Um einen Statuscode für eine Methodenantwort einzurichten, setzen Sie die statusCodeEigenschaft auf einen HTTP Statuscode. Der folgende AWS CLI -Befehl erstellt eine Methodenantwort von 200.

aws apigateway put-method-response \ --region us-west-2 \ --rest-api-id vaz7da96z6 \ --resource-id 6sxz2j \ --http-method GET \ --status-code 200

Einrichten von Parametern der Methodenantwort

Parameter der Methodenantwort definieren, welche Header der Client als Reaktion auf die zugeordnete Methodenanforderung erhält. Antwortparameter geben auch ein Ziel an, dem API Gateway einen Integrationsantwortparameter entsprechend den in der Integrationsantwort der API Methode vorgeschriebenen Zuordnungen zuordnet.

Um die Parameter der Methodenantwort einzurichten, fügen Sie der responseParameters-Zuordnung der MethodResponse-Schlüssel-Wert-Paare im Format "{parameter-name}":"{boolean}" hinzu. Der folgende CLI Befehl zeigt ein Beispiel für die my-header Einstellung des Headers.

aws apigateway put-method-response \ --region us-west-2 \ --rest-api-id vaz7da96z6 \ --resource-id 6sxz2j \ --http-method GET \ --status-code 200 \ --response-parameters method.response.header.my-header=false

Einrichten von Modellen der Methodenantwort

Ein Modell der Methodenantwort definiert ein Format des Textkörpers der Methodenantwort. Das Einrichten eines Methodenreaktionsmodells ist erforderlich, wenn Sie ein stark typisiertes SDK für die API generieren. Es stellt sicher, dass die Ausgabe an eine geeignete Klasse in Java oder Objective-C übergeben wird. In anderen Fällen ist das Einrichten eines Modells optional.

Bevor Sie das Antwortmodell einrichten, müssen Sie das Modell zunächst in API Gateway erstellen. Dazu können Sie den Befehl create-model aufrufen. Das folgende Beispiel zeigt, wie Sie ein PetStorePet-Modell erstellen, um den Textkörper der Antwort der GET /pets/{petId}-Methodenanforderung zu beschreiben.

aws apigateway create-model \ --region us-west-2 \ --rest-api-id vaz7da96z6 \ --content-type application/json \ --name PetStorePet \ --schema '{ \ "$schema": "http://json-schema.org/draft-04/schema#", \ "title": "PetStorePet", \ "type": "object", \ "properties": { \ "id": { "type": "number" }, \ "type": { "type": "string" }, \ "price": { "type": "number" } \ } \ }'

Das Ergebnis wird als API ModelGateway-Ressource erstellt.

Um die Methodenantwortmodelle zur Definition des Payload-Formats einzurichten, fügen Sie der Ressourcenzuweisung das Schlüssel-Wert-Paar „application/json“:“ PetStorePet "hinzu. requestModelsMethodResponse Der folgende AWS CLI Befehl von put-method-response zeigt, wie das gemacht wird:

aws apigateway put-method-response \ --region us-west-2 \ --rest-api-id vaz7da96z6 \ --resource-id 6sxz2j \ --http-method GET \ --status-code 200 \ --response-parameters method.response.header.my-header=false \ --response-models '{"application/json":"PetStorePet"}'