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à.
Metodi per REST APIs in API Gateway
In API Gateway, un API metodo incorpora una richiesta di metodo e una risposta al metodo. Si imposta un API metodo per definire cosa deve o deve fare un client per inviare una richiesta di accesso al servizio dal backend e per definire le risposte che il client riceve in cambio. Per l'input puoi scegliere i parametri di richiesta del metodo o un payload applicabile per consentire al client di fornire i dati obbligatori o facoltativi al runtime. Per l'output si specifica il codice di stato della risposta del metodo, le intestazioni e il corpo applicabile come destinazioni a cui mappare i dati delle risposte di back-end prima che vengano restituite al client. Per aiutare lo sviluppatore del client a comprendere i comportamenti e i formati di input e output del clientAPI, è possibile documentare API e fornire messaggi di errore corretti per le richieste non valide.
Una richiesta API di metodo è una HTTP richiesta. Per impostare la richiesta del metodo, configurate un HTTP metodo (o verbo), il percorso di una API risorsa, le intestazioni, i parametri della stringa di query applicabili. È inoltre possibile configurare un payload quando il HTTP metodo èPOST
, PUT
o. PATCH
Ad esempio, per recuperare un animale domestico utilizzando il PetStore campione API, è necessario definire il API metodo request ofGET
/pets/{petId}
, dove {petId}
è un parametro di percorso che può richiedere un numero in fase di esecuzione.
GET /pets/1 Host: apigateway.us-east-1.amazonaws.com ...
Se il client specifica un percorso non corretto, ad esempio /pet/1
o /pets/one
anziché /pets/1
, viene generata un'eccezione.
Una risposta al API metodo è una HTTP risposta con un determinato codice di stato. Per un'integrazione non proxy, è necessario configurare le risposte di metodo per specificare le destinazioni obbligatorie o facoltative delle mappature. Queste trasformano il corpo o le intestazioni delle risposte di integrazione nel corpo o nelle intestazioni delle risposte del metodo associato. La mappatura può essere semplice come la trasformazione di un'identità200
seguente mostra l'esempio di una risposta di integrazione riuscita che viene passata senza essere modificata.
200 OK Content-Type: application/json ... { "id": "1", "type": "dog", "price": "$249.99" }
Inizialmente puoi definire una risposta di metodo che corrisponde a una risposta specifica dal back-end. Generalmente vengono utilizzate le risposte 2XX, 4XX e 5XX. Tuttavia questo approccio potrebbe essere poco pratico perché non sempre si conoscono in anticipo le risposte che un back-end potrebbe restituire. In pratica, è possibile designare una sola risposta del metodo come predefinita per gestire le risposte non note o non mappate dal back-end. È buona norma designare la risposta 500 come predefinita. In ogni caso, devi configurare almeno una risposta del metodo per le integrazioni non proxy. In caso contrario, API Gateway restituisce una risposta di errore 500 al client anche quando la richiesta ha esito positivo nel backend.
Per supportare un linguaggio fortemente tipizzatoSDK, ad esempio Java SDKAPI, è necessario definire il modello di dati per l'input per la richiesta del metodo e definire il modello di dati per l'output della risposta del metodo.
Prerequisiti
Prima di configurare un API metodo, verificate quanto segue:
-
È necessario che il metodo sia disponibile in API Gateway. Segui le istruzioni in Tutorial: creare un file REST API con un'HTTPintegrazione non proxy.
-
Se desideri che il metodo comunichi con una funzione Lambda, devi aver già creato il ruolo di invocazione Lambda e il ruolo di esecuzione Lambda in. IAM Devi aver creato anche la funzione Lambda con cui il metodo comunicherà in AWS Lambda. Per creare ruoli e funzioni, usa le istruzioni disponibili nella sezione Creazione di una funzione Lambda per l'integrazione non proxy Lambda dell'argomento Scegli un tutorial di integrazione AWS Lambda.
-
Se desideri che il metodo comunichi con un'integrazione HTTP o HTTP proxy, devi aver già creato e avere accesso all'HTTPendpoint URL con cui il metodo comunicherà.
-
Verifica che i certificati HTTP e gli endpoint HTTP proxy siano supportati da API Gateway. Per dettagli, consulta APIAutorità di certificazione supportate dal gateway HTTP e integrazioni HTTP proxy in Gateway API.
Nota
Quando crei un metodo utilizzando la REST API console, configuri sia la richiesta di integrazione che la richiesta del metodo. Per ulteriori informazioni, consulta Configurazione di una richiesta di integrazione API tramite la console API Gateway.