REST API 用に API Gateway で生成された JavaScript SDK を使用する
次の手順は、API Gateway によって生成された JavaScript SDK を使用する方法を示しています。
注記
これらの手順は、すでに「API Gateway で REST API の SDK を生成する」の手順を完了していることを前提としています。
重要
API に ANY メソッドのみが定義された場合、生成された SDK パッケージに apigClient.js
ファイルは含まれず、ANY メソッドを自分で定義する必要があります。
REST API に対して API Gateway で生成された JavaScript SDK をインストールし、開始して呼び出すには
-
ダウンロード済みの API Gateway で生成された .zip ファイルのコンテンツを抽出します。
-
API Gateway で生成された SDK で呼び出すすべてのメソッドで Cross-Origin Resource Sharing (CORS) を有効にします。手順については、API Gateway での REST API の CORS を参照してください。
-
ウェブページで、以下のスクリプトへの参照を含めます。
<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>
-
コードで、API Gateway で生成された SDK を初期化します。次のようなコードを使用します。
var apigClient = apigClientFactory.newClient();
API Gateway で生成された SDK を AWS 認証情報で初期化するには、次のようなコードを使用します。AWS 認証情報を使用すると、API に対するすべてのリクエストに署名が付与されます。
var apigClient = apigClientFactory.newClient({ accessKey: 'ACCESS_KEY', secretKey: 'SECRET_KEY', });
API Gateway で生成された SDK で API キーを使用するには、次のようなコードを使用し、API キーをパラメータとして
Factory
オブジェクトに渡すことができます。API キーを使用する場合は、x-api-key
ヘッダーの一部として指定され、API に対するすべてのリクエストに署名が付与されます。これは、各リクエストに適切な CORS Accept ヘッダーを設定する必要があることを意味します。var apigClient = apigClientFactory.newClient({ apiKey: 'API_KEY' });
-
以下のようなコードを使用して API Gateway で API メソッドを呼び出します。各呼び出しから、成功または失敗のコールバックとともに promise が返されます。
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. });ここで、
methodName
は、メソッドリクエストのリソースパスと HTTP 動詞から作成されます。SimpleCalc API の場合、次の API メソッドの SDK メソッド1. GET /?a=...&b=...&op=... 2. POST / { "a": ..., "b": ..., "op": ...} 3. GET /{a}/{b}/{op}
対応する SDK メソッドは次のとおりです。
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