

# 针对 API Gateway 中的 REST API 的负载压缩
<a name="api-gateway-gzip-compression-decompression"></a>

 API Gateway 允许您的客户端使用[支持的内容编码](api-gateway-enable-compression.md#api-gateway-supported-content-encodings)之一调用具有压缩负载的 API。默认情况下，API Gateway 支持解压缩方法请求负载。但是，您必须配置 API 以启用方法响应负载的压缩。

 要在 [https://docs.aws.amazon.com/apigateway/latest/api/API_RestApi.html](https://docs.aws.amazon.com/apigateway/latest/api/API_RestApi.html) 上启用压缩，请在创建 API 时或在创建 API 之后，将 [https://docs.aws.amazon.com/apigateway/latest/api/API_RestApi.html#minimumCompressionSize](https://docs.aws.amazon.com/apigateway/latest/api/API_RestApi.html#minimumCompressionSize) 属性设置为介于 0 到 10485760（10M 字节）之间的非负整数。要在 API 上禁用压缩，请将 `minimumCompressionSize` 设置为空值或者将属性与值一起删除。您可以使用 API Gateway 控制台、AWS CLI 或 API Gateway REST API 为 API 启用或禁用 API 压缩。

如果您希望在任意大小的负载上应用压缩，请将 `minimumCompressionSize` 值设置为零。不过，压缩较小大小的数据实际上可能会增加最终数据大小。此外，API Gateway 中的压缩和客户端中的解压缩可能会增加总体延迟并需要更多的计算时间。您应该根据 API 运行测试用例，确定最佳值。

客户端可以针对 API Gateway 提交具有压缩负载及合适 `Content-Encoding` 标头的 API 请求，以解压缩并应用适用的映射模板，然后再将请求传递到集成端点。启用解压缩并部署了 API 之后，如果在方法请求中指定了合适的 `Accept-Encoding` 标头，客户端可以接收具有压缩负载的 API 响应。

当集成端点预期并返回了未压缩的 JSON 负载时，为未压缩 JSON 负载配置的任何映射模板适用于压缩负载。对于压缩方法请求负载，API Gateway 解压缩负载，应用映射模板，然后将映射的请求传递到集成端点。对于未压缩的集成响应负载，API Gateway 应用映射模板，压缩映射的负载，并将压缩的负载返回客户端。

**Topics**
+ [在 API Gateway 中为 API 启用负载压缩](api-gateway-enable-compression.md)
+ [在 API Gateway 中使用压缩负载调用 API 方法](api-gateway-make-request-with-compressed-payload.md)
+ [接收 API Gateway 中具有压缩负载的 API 响应](api-gateway-receive-response-with-compressed-payload.md)