Utilizzo di un SDK JavaScript generato da API Gateway per un'API REST
La seguente procedura mostra come utilizzare un SDK JavaScript generato da Gateway API.
Nota
Queste istruzioni presuppongono che tu abbia già completato la procedura descritta in Generazione di SDK per REST API in Gateway API.
Importante
Se l'API ha solo metodi ANY definiti, il pacchetto SDK generato non conterrà un file apigClient.js
e sarà necessario definire i metodi ANY manualmente.
Per installare, creare istanze e chiamare un SDK JavaScript generato da API Gateway per un'API REST
-
Estrai il contenuto del file .zip generato da API Gateway scaricato precedentemente.
-
Abilita la condivisione delle risorse multi-origine (CORS) per tutti i metodi che l'SDK generato da API Gateway chiamerà. Per istruzioni, consulta CORS per REST API in Gateway API.
-
Nella tua pagina Web, includi i riferimenti ai seguenti script.
<script type="text/javascript" src="lib/axios/dist/axios.standalone.js"></script> <script type="text/javascript" src="lib/CryptoJS/rollups/hmac-sha256.js"></script> <script type="text/javascript" src="lib/CryptoJS/rollups/sha256.js"></script> <script type="text/javascript" src="lib/CryptoJS/components/hmac.js"></script> <script type="text/javascript" src="lib/CryptoJS/components/enc-base64.js"></script> <script type="text/javascript" src="lib/url-template/url-template.js"></script> <script type="text/javascript" src="lib/apiGatewayCore/sigV4Client.js"></script> <script type="text/javascript" src="lib/apiGatewayCore/apiGatewayClient.js"></script> <script type="text/javascript" src="lib/apiGatewayCore/simpleHttpClient.js"></script> <script type="text/javascript" src="lib/apiGatewayCore/utils.js"></script> <script type="text/javascript" src="apigClient.js"></script>
-
Nel codice inizializza l'SDK generato da API Gateway tramite un codice simile al seguente.
var apigClient = apigClientFactory.newClient();
Per inizializzare l'SDK generato da API Gateway con le credenziali AWS, utilizza un codice simile al seguente. Se utilizzi le credenziali AWS, tutte le richieste all'API verranno firmate.
var apigClient = apigClientFactory.newClient({ accessKey: 'ACCESS_KEY', secretKey: 'SECRET_KEY', });
Per utilizzare una chiave API con l'SDK generato da API Gateway, passa la chiave API come parametro all'oggetto
Factory
, usando un codice simile al seguente. Se utilizzi una chiave API, viene specificato come parte dell'intestazionex-api-key
e tutte le richieste all'API verranno firmate. Questo significa che devi impostare le intestazioni Accept corrette di CORS per ogni richiesta.var apigClient = apigClientFactory.newClient({ apiKey: 'API_KEY' });
-
Chiama i metodi API in API Gateway tramite un codice simile al seguente. Ogni chiamata restituisce una promessa con callback di successo e di fallimento.
var params = { // This is where any modeled request parameters should be added. // The key is the parameter name, as it is defined in the API in API Gateway. param0: '', param1: '' }; var body = { // This is where you define the body of the request, }; var additionalParams = { // If there are any unmodeled query parameters or headers that must be // sent with the request, add them here. headers: { param0: '', param1: '' }, queryParams: { param0: '', param1: '' } }; apigClient.
methodName
(params, body, additionalParams) .then(function(result){ // Add success callback code here. }).catch( function(result){ // Add error callback code here. });Qui,
methodName
viene costruito in base al percorso della risorsa della richiesta di metodo e al verbo HTTP. Per l'API SimpleCalc, i metodi SDK per i metodi API dei1. GET /?a=...&b=...&op=... 2. POST / { "a": ..., "b": ..., "op": ...} 3. GET /{a}/{b}/{op}
metodi SDK corrispondenti sono i seguenti:
1. rootGet(params); // where params={"a": ..., "b": ..., "op": ...} is resolved to the query parameters 2. rootPost(null, body); // where body={"a": ..., "b": ..., "op": ...} 3. aBOpGet(params); // where params={"a": ..., "b": ..., "op": ...} is resolved to the path parameters