Amazon API Gateway
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

使用 API Gateway 生成的 JavaScript 开发工具包

注意

这些说明假设您已完成使用 API Gateway 控制台为 API 生成开发工具包中的说明。

要开始安装,请启动并调用由 API Gateway 生成的 JavaScript 开发工具包

  1. 提取您之前下载的 API Gateway 生成的 .zip 文件的内容。

  2. 针对 API Gateway 生成的开发工具包将调用的所有方法,启用跨源资源共享 (CORS)。有关说明,请参阅为资源启用 CORS

  3. 在您的网页中,添加对以下脚本的引用。

    <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>
  4. 在您的代码中,使用类似于以下内容的代码初始化 API Gateway 生成的开发工具包。

    var apigClient = apigClientFactory.newClient();

    要使用 AWS 凭证初始化 API Gateway 生成的开发工具包,请使用类似于以下内容的代码。如果您使用 AWS 凭证,系统将签署针对 API 的所有请求。

    var apigClient = apigClientFactory.newClient({ accessKey: 'ACCESS_KEY', secretKey: 'SECRET_KEY', });

    要将 API 密钥用于 API Gateway 生成的开发工具包,您可以使用类似于以下内容的代码,将 API 密钥作为参数传递给 Factory 对象。如果您使用 API 密钥,它将被指定为 x-api-key 标头的一部分,并且系统将签署针对 API 的所有请求。这意味着您必须为每个请求设置相应的 CORS Accept 标头。

    var apigClient = apigClientFactory.newClient({ apiKey: 'API_KEY' });
  5. 使用类似于以下内容的代码调用 API Gateway 中的 API 方法。每次调用都会返回成功和失败回调的承诺。

    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 构成。例如,对于 GET / 请求,methodNamerootGet。对于 GET /a/b/op 请求,methodName 将为 aBOpGet