Risposte del gateway in API Gateway - 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à.

Risposte del gateway in API Gateway

Una risposta del gateway è identificata da un tipo di risposta definito da API Gateway. La risposta consiste in un codice di stato HTTP, un insieme di intestazioni aggiuntive specificate dalle mappature dei parametri e un payload generato da un modello di mappatura non-VTL.

Nell'API REST API Gateway, una risposta del gateway è rappresentata da GatewayResponse. In OpenAPI, un'istanza GatewayResponse è descritta dall'estensione x-amazon-apigateway-gateway-responses.gatewayResponse.

Per abilitare una risposta del gateway, dei impostare una risposta del gateway per un tipo di risposta supportato a livello di API. Ogni volta che API Gateway restituisce una risposta di questo tipo, vengono applicate le mappature delle intestazioni e i modelli di mappatura del payload definiti nel gateway per restituire i risultati mappati all'intermediario dell'API.

Nella sezione seguente viene illustrato come impostare le risposte del gateway tramite la console API Gateway e l'API REST API Gateway.

Configurazione delle risposte del gateway per la personalizzazione delle risposte agli errori

Se API Gateway non riesce a elaborare una richiesta in entrata, restituisce al client una risposta di errore senza inoltrare la richiesta al back-end di integrazione. Per impostazione predefinita, la risposta di errore contiene un breve messaggio di errore descrittivo. Ad esempio, se tenti di chiamare un'operazione da una risorsa API non definita, riceverai una risposta di errore con il messaggio { "message": "Missing Authentication Token" }. Se sei nuovo su API Gateway, potrebbe essere difficile capire che cosa esattamente non sia andato a buon fine.

Per alcune delle risposte di errore, API Gateway consente agli sviluppatori API di personalizzare le risposte in formati differenti. Per l'esempio Missing Authentication Token, puoi aggiungere un suggerimento al payload originale della risposta con la possibile causa, come in questo esempio: {"message":"Missing Authentication Token", "hint":"The HTTP method or resources may not be supported."}.

Quando l'API si interpone tra uno scambio esterno e il Cloud AWS, utilizzare i modelli di mappatura VTL per la richiesta o la risposta di integrazione per mappare il payload da un formato a un altro. Tuttavia, i modelli di mappatura VTL funzionano solo per le richieste valide con risposte andate a buon fine.

Per le richieste non valide, API Gateway ignora completamente l'integrazione e restituisce una risposta di errore. Devi utilizzare la personalizzazione per rendere le risposte di errore in un formato conforme allo scambio. Qui, la personalizzazione viene realizzata in un modello di mappatura non-VTL che supporta solo le sostituzioni semplici delle variabili.

Per generalizzare la risposta di errore generata da API Gateway e qualsiasi risposta generata da API Gateway, usiamo il termine risposte del gateway. In questo modo facciamo distinzione tra le risposte generate da API Gateway e le risposte di integrazione. Un modello di mappatura di una risposta del gateway può accedere ai valori della variabile $context e ai valori della proprietà $stageVariables, nonché ai parametri della richiesta di metodo, sotto forma di method.request.param-position.param-name.

Per ulteriori informazioni sulle variabili $context, consulta $contextVariabili per modelli di dati, autorizzatori, modelli di mappatura e registrazione degli accessi CloudWatch . Per ulteriori informazioni su $stageVariables, consulta $stageVariables. Per ulteriori informazioni sui parametri di richiesta del metodo, consulta $input Variabili .