在 API Gateway 中使用压缩负载调用 API 方法
要使用压缩负载发出 API 请求,客户端必须使用支持的内容编码之一设置 Content-Encoding
标头。
假设您使用 API 客户端并希望调用 PetStore API 方法 (POST
/pets
)。不要使用以下 JSON 输出来调用方法:
POST /pets Host: {petstore-api-id}.execute-api.{region}.amazonaws.com Content-Length: ... { "type": "dog", "price": 249.99 }
相反,您可以通过使用 GZIP 编码压缩的相同负载来调用方法:
POST /pets Host: {petstore-api-id}.execute-api.{region}.amazonaws.com Content-Encoding:gzip Content-Length: ... ���RPP*�,HU�RPJ�OW��e&���L,�,-y�j
API Gateway 收到请求时,它会验证是否支持指定的内容编码。然后,它尝试解压缩具有指定内容编码的负载。如果解压缩成功,它会将请求分派到集成终端节点。如果不支持指定的编码或者提供的负载未使用指定编码压缩,API Gateway 返回 415 Unsupported Media
Type
错误响应。如果此错误在解压缩的早期阶段发生(尚未确定您的 API 和阶段),则此错误不会记录到 CloudWatch Logs。