Imposta un metodo di risposta in Gateway API - Amazon API Gateway

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Imposta un metodo di risposta in Gateway API

Una risposta al API metodo incapsula l'output di una richiesta di API metodo che il client riceverà. I dati di output includono un codice di HTTP stato, alcune intestazioni e possibilmente un corpo.

Con le integrazioni non proxy, i parametri di risposta specificati e il corpo possono essere mappati dai dati della risposta di integrazione associati oppure possono essere assegnati determinati valori statici in base alle mappature. Queste mappature vengono specificate nella risposta di integrazione. La mappatura può essere una trasformazione identica che passa attraverso l'integrazione senza alcuna modifica.

Con un'integrazione proxy, API Gateway trasmette automaticamente la risposta del backend alla risposta del metodo. Non è necessario impostare il API metodo di risposta. Tuttavia, con l'integrazione del proxy Lambda, la funzione Lambda deve restituire un risultato di questo formato di output affinché API Gateway mappi correttamente la risposta di integrazione a una risposta del metodo.

A livello di programmazione, la configurazione della risposta del metodo equivale alla creazione di una MethodResponserisorsa di API Gateway e all'impostazione delle proprietà di statusCode, e. responseParametersresponseModels

Quando si impostano i codici di stato per un API metodo, è necessario sceglierne uno come predefinito per gestire qualsiasi risposta di integrazione di un codice di stato imprevisto. È accettabile impostare 500 come valore predefinito perché equivale a trasmettere risposte non mappate come errore del server. Per motivi didattici, la console API Gateway imposta la 200 risposta come predefinita. Tuttavia puoi reimpostare il valore su 500.

Per configurare una risposta di metodo, devi aver creato la richiesta.

Configurazione dello stato del codice di una risposta di metodo

Lo stato del codice di una risposta di metodo definisce un tipo di risposta. Ad esempio, le risposte 200, 400 e 500 indicano rispettivamente riposte completate, errore lato client ed errore lato server.

Per impostare un codice di stato della risposta del metodo, imposta la statusCodeproprietà su un codice di HTTP stato. Il comando AWS CLI seguente crea la risposta del metodo 200.

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

Configurazione dei parametri di risposta del metodo

I parametri di risposta del metodo definiscono le intestazioni che il client deve ricevere in risposta alla richiesta di metodo associata. I parametri di risposta specificano anche una destinazione a cui API Gateway mappa un parametro di risposta di integrazione, in base alle mappature prescritte nella risposta di integrazione del API metodo.

Per configurare i parametri di risposta del metodo, aggiungi alla mappa responseParameters di MethodResponse coppie chiave-valore nel formato "{parameter-name}":"{boolean}". Il CLI comando seguente mostra un esempio di impostazione dell'my-headerintestazione.

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

Configurazione dei modelli di risposta del metodo

Un modello di risposta del metodo definisce un formato del corpo della risposta. Prima di configurare il modello di risposta, è necessario creare il modello in API Gateway. A questo scopo, chiama il comando create-model. L'esempio seguente mostra come creare un modello PetStorePet per descrivere il corpo della risposta nella richiesta del metodo GET /pets/{petId}.

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" } \ } \ }'

Il risultato viene creato come Modelrisorsa API Gateway.

Per configurare i modelli di risposta del metodo per definire il formato del payload, aggiungi la coppia chiave-valore «application/json»:» PetStorePet "alla mappa della risorsa. requestModelsMethodResponse Il seguente AWS CLI comando mostra come eseguire questa operazioneput-method-response:

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"}'

La configurazione di un modello di risposta del metodo è necessaria quando si genera un codice fortemente digitato SDK per. API Garantisce che l'output venga trasmesso in una classe appropriata in Java o Objective-C. In altri casi l'impostazione di un modello è facoltativa.