API Gateway 中用于 REST API 的方法 - Amazon API Gateway

API Gateway 中用于 REST API 的方法

在 API Gateway 中,API 方法包含方法请求方法响应。您可以设置 API 方法以定义客户端提交访问后端服务的请求时应该或必须执行的操作,并定义返回给客户端时收到的响应。对于输入,您可以为客户端选择方法请求参数或适用的负载,以在运行时提供必需或可选的数据。对于输出,您确定将方法响应状态代码、标头和适用的正文作为将后端响应数据映射到的目标,然后再将其返回到客户端。要帮助客户端开发人员理解 API 的行为以及输入和输出格式,您可以记录 API 并为无效请求提供正确的错误消息

API 方法请求是 HTTP 请求。要设置方法请求,您需要配置 HTTP 方法(或动词)以及指向 API 资源、标头和适用查询字符串参数的路径。您还可在 HTTP 方法是 POSTPUTPATCH 时配置负载。例如,要使用 PetStore 示例 API 检索宠物,您可以定义 GET /pets/{petId} 的 API 方法请求,其中 {petId} 是可在运行时获取数字的路径参数。

GET /pets/1 Host: apigateway.us-east-1.amazonaws.com ...

如果客户端指定了错误的路径,例如 /pet/1/pets/one,而不是 /pets/1,系统就会抛出异常。

API 方法响应是具有指定状态代码的 HTTP 响应。对于非代理集成,您必须设置方法响应以指定映射的必需或可选目标。这些会将集成响应标头或正文转换为关联的方法响应标头或正文。映射可以像身份转换一样简单,它通过集成按原样传递标头或正文。例如,以下 200 方法响应显示了成功按原样传递集成响应的示例。

200 OK Content-Type: application/json ... { "id": "1", "type": "dog", "price": "$249.99" }

原则上,您可以定义对应于来自后端的特定响应的方法响应。通常,这会涉及任何 2XX、4XX 和 5XX 响应。但是,这可能并不可行,因为您通常不可能提前知道后端可能返回的所有响应。实际上,您可以指定一个默认方法响应来处理来自后端的未知响应或未映射的响应。最好将 500 响应指定为默认响应。在任何情况下,您都必须为非代理集成设置至少一个方法响应。否则,API Gateway 将向客户端返回 500 错误响应,即使后端的请求成功也是如此。

要为 API 支持强类型开发工具包 (如 Java 开发工具包),您应该为方法请求定义输入数据模型,并为方法响应定义输出数据模型。

先决条件

设置 API 方法之前,请验证以下内容:

注意

使用 REST API 控制台创建方法时,您可以同时配置集成请求和方法请求。有关更多信息,请参阅 使用 API Gateway 控制台设置 API 集成请求