Aws lambda 使用lambda服务和API网关从postman(而不是从浏览器)获取创建的API

Aws lambda 使用lambda服务和API网关从postman(而不是从浏览器)获取创建的API,aws-lambda,python-3.6,aws-api-gateway,http-status-code-400,Aws Lambda,Python 3.6,Aws Api Gateway,Http Status Code 400,在Lambda服务(使用python3.6)和API网关的帮助下,我创建了一个生成qr码的GET方法API 当我传递简单查询字符串参数时,API正在从postman和浏览器中工作 例如: 这给了我正确的二维码 当我为同一个API传递查询字符串参数中的JSON数据时,它可以从邮递员那里完美地工作 但是,当我从chrome浏览器调用相同的API时,会出现HTTP错误400 {“样本值”:“样本值”} 我也允许CORS头球 如何克服这个问题?在以这样的查询字符串发送json时,您是否尝试过转义jso

在Lambda服务(使用python3.6)和API网关的帮助下,我创建了一个生成qr码的GET方法API

当我传递简单查询字符串参数时,API正在从postman和浏览器中工作

例如:

这给了我正确的二维码

当我为同一个API传递查询字符串参数中的JSON数据时,它可以从邮递员那里完美地工作 但是,当我从chrome浏览器调用相同的API时,会出现HTTP错误400

{“样本值”:“样本值”}

我也允许CORS头球


如何克服这个问题?

在以这样的查询字符串发送json时,您是否尝试过转义json

{%22sample_key%22:%22sample_value%22}
邮递员为你做的是默认的,所以这可能就是它工作的原因


顺便说一下,在发送json时,发送
POST
比发送
GET
更合适。我不确定您的用例是什么。

您是否尝试在以查询字符串形式发送json时转义json

{%22sample_key%22:%22sample_value%22}
邮递员为你做的是默认的,所以这可能就是它工作的原因


顺便说一下,在发送json时,发送
POST
比发送
GET
更合适。我不确定您的用例是什么。

在我们的用例中,我们希望在HTML的
图像
标记中调用此URL。因此,我们使用javascript的encodeURIComponent函数调用对其数据部分进行URL编码,以便API网关以所需格式获取输入

以下示例:-

<html>
    <body> 
        <img src='base_url?data='<script>b</script'>
    </body>
    <script> 
            let a = {"name":"vinit"}
            let b = encodeURIComponent(JSON.stringify(a))
     </script>
</html>


b在我们的用例中,我们希望在HTML的
image
标记中调用此URL。因此,我们使用javascript的encodeURIComponent函数调用对其数据部分进行URL编码,以便API网关以所需格式获取输入

以下示例:-

<html>
    <body> 
        <img src='base_url?data='<script>b</script'>
    </body>
    <script> 
            let a = {"name":"vinit"}
            let b = encodeURIComponent(JSON.stringify(a))
     </script>
</html>


bAs当我在查询字符串中放入{(大括号)时,它给出了错误。但是一些特殊符号正在工作。当我在查询字符串中放入{(大括号)时,它给出了错误。一些特殊符号正在工作。我也面临着完全相同的问题@umaprasad bisen:(找到原因或解决方案了吗?我也面临着同样的问题@umaprasad bisen:(找到原因或解决方案了吗?