当前位置: 首页 > 知识库问答 >
问题:

AWS API网关在使用查询参数时返回HTTP代码400

华锦
2023-03-14

我使用资源:/test创建了一个API网关。它使用代理集成来调用Lambda函数

    null

共有1个答案

谭云瀚
2023-03-14

看起来您的调用实际上以/test?param={“test”:1}结束,例如,类似于https://123456asdf.execute-api.us-east-2.amazonaws.com/test?param={“test”:1}

如果是这种情况,您没有正确地转义url。某些字符需要“URL编码”

通过快速的Google搜索可以找到这个实用程序:http://www.utilities-online.info/urlencode/

当您尝试发送参数时,大多数库将为您进行编码。只有在手动操作的情况下,您才真正需要担心这个问题....

在Lambda中,您将看到{“test”:1}因为Lambda“url-decodes”参数。

 类似资料:
  • 我们正在尝试从C#Windows服务调用AWS API网关来执行后台作业。哪个应该触发API网关定期初始化请求? 我们使用RestSharp调用APIendpoint,该类称为AwsAuthenticator,它继承自RestSharp.Authenticators.IAAuthenticator。但当我们调用API Gateway时,收到的错误是“我们计算的请求签名与您提供的签名不匹配。请检查您

  • 我也没有在AWS文档中找到任何实质性的东西。

  • 我正尝试使用AWS API网关到另一个服务,如下所示: https://jsonplaceholder.typicode.com/comments?postid=1和postid=2 我遵循API网关API的Map Request Parameters来创建get方法。 所以我在方法执行中有以下内容:

  • 但是,有没有可能在API网关中硬编码访问令牌,将其传递到目的地,这样用户就不必将其包含在请求中了呢? 或者我唯一的选择就是为了这个做一个兰姆达...?

  • 我开始设置一个Spring Cloud Gateway,它在uri中没有查询参数的情况下工作得很好。但是我需要一些参数,它们不是固定的,我不使用它们来选择路由,我只需要它们和uri一起发送,没有任何改变。 例如,网址: http://localhost:8080/dev/select config/v1/ABCDE 可以工作,但对于查询参数,它不会: http://localhost:8080/d

  • 我有很多个页面,大部分都是上下结构,上面查询条件,下面表格,然后表格后面是操作按钮,点击详情url带上查询条件跳转到详情,返回的时候参数没了,现在需要返回的时候保留参数 问题: 因为页面比较多,请问怎么能在最小的改动下实现这个需求 Ps:查询条件的表单都是每个页面独立使用的,没有统一封装