gpt4 book ai didi

http - 没有 Accept header 的 AWS API Gateway 二进制输出

转载 作者:可可西里 更新时间:2023-11-01 15:20:53 26 4
gpt4 key购买 nike

根据 http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-payload-encodings.html

如果未定义 contentHandling,并且如果响应的 Content-Type header 和原始请求的 Accept header 与 binaryMediaTypes 列表中的条目相匹配,API 网关将通过正文。当 Content-Type header 和 Accept header 相同时会发生这种情况;否则,API Gateway 将响应主体转换为 Accept header 中指定的类型。

我无法发出发送 Accept header 的原始请求。如何让我的 AWS API Gateway 以二进制格式返回? (图片/jpeg)。因为我从 s3 发回的图像在最后阶段被转换为文本(因为原始请求缺少 Accept: image/jpeg header )。

最佳答案

将集成响应中的“内容处理”设置为“转换为二进制”。当在集成响应中设置 Convert to binary 时,Content-Type API Gateway 响应 header 为'*/*',因此您需要在 Content-Type 的集成响应中创建 header 映射,映射到 integration.response.header。内容类型。这将确保 API 网关响应包含后端在其对 API 网关的响应中传递的相同内容类型值。

为了清楚起见,这里是所需设置的摘要。

整合响应:

  • 内容处理:转换为二进制
  • header 映射:内容类型:integration.response.header.Content-Type

这样您的客户端就不再需要接受请求 header 了。

关于http - 没有 Accept header 的 AWS API Gateway 二进制输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41037026/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com