首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >API网关返回的随机字符串?

API网关返回的随机字符串?
EN

Stack Overflow用户
提问于 2020-06-05 14:45:53
回答 2查看 159关注 0票数 1

我正在尝试从API网关代理请求中检索请求正文。当我传递一个实体时,我得到一个随机的字符串。该请求在API网关的测试中工作正常,但在实际的API中无法正常工作

我收到的请求是

代码语言:javascript
复制
{
    "path": "/movie",
    "headers": {
        "sec-fetch-mode": "cors",
        "sec-fetch-site": "none",
        "accept-language": "en-US,en;q=0.9",
        "postman-token": "e9f9216f-850d-1037-a2c9-d6a554f55813",
        "origin": "chrome-extension://fhbjgbiflinjbdggehcddcbncdddomop",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36",
        "X-Forwarded-Proto": "https",
        "Host": "8cfsbr5d62.execute-api.us-east-1.amazonaws.com",
        "X-Forwarded-Port": "443",
        "X-Amzn-Trace-Id": "Root=1-5ed9e7b8-94f205f0fed74580d6bb5bf0",
        "accept": "*/*",
        "X-Forwarded-For": "49.206.4.254",
        "content-type": "application/json",
        "cache-control": "no-cache",
        "accept-encoding": "gzip, deflate, br",
        "sec-fetch-dest": "empty"
    },
    "resource": "/movie",
    "queryStringParameters": {
        "movie": "ddk"
    },
    "httpMethod": "POST",
    "body": "ewoJIm1vdmllIjoiZ3BwIgp9"
}
EN

回答 2

Stack Overflow用户

发布于 2020-06-05 14:59:46

它是base64编码的

代码语言:javascript
复制
base64 -d <<< ewoJIm1vdmllIjoiZ3BwIgp9
{
    "movie":"gpp"
}

因此,您必须在您的lambda中对其进行解码

您可以在base64中获取更多关于接口网关编解码的信息:

票数 1
EN

Stack Overflow用户

发布于 2020-06-05 15:53:32

问题是,我将二进制媒体类型配置为'*/*‘,因为其中一个API具有图像有效负载。但该配置也会影响JSON有效负载,API开始将任何请求正文编码为编码字符串。我的情况下,字符串实际上不是随机的,它是Base64编码的字符串。

有两个选项:

1)如果您想保留一般的二进制媒体类型,则解码Lambda中的Base64字符串

2)在API网关设置中保留特定的二进制媒体类型。image/*

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62209603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档