AWS Builder Center: Learn, Build and Connect with builders in the AWS community
AWS Builder Center is the official home for builders on AWS. Share and read what others are working on, follow people who inspire you, explore training and workshops, and find tools to support what you're building.
Come posso associare un modello di dati alla mia REST API in Gateway API?
Desidero associare un modello di dati alla mia REST API in Gateway Amazon API.
Risoluzione
Per associare un modello di dati a una REST API in Gateway API, completa i seguenti passaggi.
Scrivi lo schema di un modello da associare alla REST API
Nota: i modelli di Gateway API devono utilizzare la bozza dello schema JSON 4. Per informazioni sulla scrittura dello schema di un modello, consulta Modelli di dati per REST API.
Esempio di schema di un modello
Questo esempio di modello utilizza application/json come chiave predefinita per selezionare il modello di mappatura. Lo schema deve rispettare le seguenti condizioni:
- Gli utenti dell'API devono passare i propri valori UserID e Name nel corpo della richiesta.
- I valori UserID e Name devono essere valori di stringa.
- Il valore Age deve essere un valore intero pari o superiore a 18.
{ "$schema": "http://json-schema.org/draft-04/schema#", "title": "User", "type": "object", "properties": { "UserID": { "type": "string" }, "Name": { "type": "string" }, "Age": { "description": "Age in years", "type": "integer", "minimum": 18 } }, "required": [ "UserID", "Name" ] }
Crea un modello per la REST API
Per creare un modello in Gateway API, consulta Configurazione della convalida di base delle richieste in Gateway API.
Associa il modello al metodo API
Completa i seguenti passaggi:
- Apri l'API nella console Gateway API.
- Nel pannello di navigazione, scegli Risorse.
- Seleziona il metodo API a cui desideri associare il modello.
- Nel pannello Esecuzione metodo, scegli Richiesta metodo.
- Per Validatore richiesta, seleziona Convalida corpo. Quindi scegli l'icona del segno di spunta per salvare la selezione.
- Espandi Corpo della richiesta. Quindi scegli Aggiungi modello.
- In Tipo di contenuto, inserisci il tipo di contenuto del modello. Ad esempio, inserisci application/json.
- Per Nome modello, seleziona il modello che hai creato.
- Scegli l'icona del segno di spunta per salvare le selezioni.
Esegui un test del modello
Completa i seguenti passaggi:
-
Dall'elenco Risorse dell'API, scegli il metodo API a cui hai associato il modello.
-
Nel pannello Esecuzione metodo, scegli ESEGUI TEST.
-
In Corpo della richiesta, inserisci un corpo della richiesta che corrisponda allo schema del modello che hai creato.
Nota: per eseguire un test dell'esempio di modello application/json, utilizza il seguente esempio di corpo della richiesta:{ "UserID": "abc123", "Name": "Ana", "Age": 21} -
Scegli Esegui test.
-
Se la risposta al test ha esito positivo, il corpo della richiesta restituito corrisponde allo schema del modello.
(Facoltativo) Crea un modello di mappatura per il modello
Puoi utilizzare un modello di mappatura per modificare le richieste che vengono inviate al backend integrato dell'API. Per creare un modello di mappatura, completa i seguenti passaggi:
-
Dall'elenco Risorse dell'API, scegli il metodo API a cui hai associato il modello.
-
Nel pannello Esecuzione metodo, scegli Richiesta di integrazione.
-
Espandi Modelli di mappatura.
-
In Richiesta passthrough corpo scegli When there are no templates defined (recommended) (Quando non ci sono modelli definiti (consigliato)).
-
Scegli Aggiungi modello di mappatura.
-
In Content-Type, inserisci il tipo di contenuto del modello. Ad esempio, inserisci application/json.
-
Scegli l'icona del segno di spunta per salvare la selezione.
-
Per Genera modello, seleziona il modello che hai creato. Ad esempio, l'esempio di modello application/json appare come segue:
#set($inputRoot = $input.path('$')) { "UserID" : "$inputRoot.UserID", "Name" : "$inputRoot.Name", "Age" : $inputRoot.Age } -
Modifica il modello precedente in modo che contenga i valori che desideri passare al backend integrato dell'API.
-
Scegli Salva.
Distribuisci la REST API per eseguire il commit delle modifiche
Completa i seguenti passaggi:
- Nel pannello di navigazione, scegli Risorse.
- Scegli Operazioni. Quindi seleziona Distribuisci l'API.
- Per Fase della distribuzione, seleziona una fase già esistente o scegli [Nuova fase] per creare una fase.
Importante: se crei una nuova fase, devi inserire un nome in Nome fase. - Scegli Distribuire per ricevere l'URL di invocazione che utilizzi per effettuare richieste all'API distribuita.
- Copia l'URL di invocazione.
Esegui un test della REST API
Invia una richiesta di test all'API che utilizza il metodo e il tipo di contenuto associati al modello. Una richiesta con esito positivo restituisce un codice di risposta 200 OK. Una richiesta con esito negativo restituisce un codice di stato 400.
Per inviare una richiesta di test, utilizza uno strumento di sviluppo API o un comando curl. Per ulteriori informazioni sulle chiamate REST API in Gateway API, consulta Invocazione di REST API in Gateway API. Per ulteriori informazioni sul comando curl, consulta il sito web curl.
Esempio di comando curl che utilizza la richiesta del metodo POST HTTP ed esegue il test per una risposta 200 OK
Nota: questo esempio di comando invia una richiesta di test all'esempio di modello application/json. Il comando restituisce una risposta 200 OK.
curl -X POST <API URL> -H 'Content-Type: application/json' -d '{ "UserID": "abc123", "Name": "Ana", "Age": 21 }'
(Facoltativo) Esempio di comando curl che utilizza la richiesta del metodo POST HTTP ed esegue il test per un codice di stato 400
Nota: il corpo della richiesta in questo esempio di comando non è valido perché non include l'attributo del modello UserID richiesto. Il comando restituisce un codice di stato 400.
curl -X POST <API URL> -H 'Content-Type: application/json' -d '{ "Name": "Ana", "Age": 21 }'
- Lingua
- Italiano
