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 statusCode
Eigenschaft 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 Model
Gateway-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. requestModels
MethodResponse
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"}'