amazon-web-services - 使用 AWS API Gateway 访问原始 URL
问题描述
是否可以使用 AWS API Gateway(和 Lambda)访问原始 url?
或者,是否可以访问原始的、未解码的查询字符串参数?
我们正在与第三方服务集成,该服务调用我们的 API 并对来自 Windows-1252 的查询字符串参数进行编码。(例如,芬兰字母 Ä 编码为 %C4 而不是 %C3%84)。API Gateway 似乎会自动解码查询字符串参数并假定 UTF-8,这意味着 Ä(以及 Ö 和 Å)会导致 \ufffd。
解决方案
妈的,看来真的不行了……
我开始写如何使用Lambda 代理集成,event.queryStringParameters
但这会将数据解析为键值对象。
然后我在 API Gateway 中走上了映射模板的道路,但似乎没有任何属性可以显示整个查询字符串。
尽管我不希望这是真的,但我只能得出结论,这是不可能的……
我认为您最好的选择是在客户端将参数编码为 base64,然后在 Lambda 函数中使用Object.keys(event.queryStringParameters)[0]
.
推荐阅读
- c - 为什么我用于将元素插入哈希树的 C 代码在 Main() 中有效,但在我通过函数调用时无效?
- xamarin - 在 Visual Studio 2017 中找不到 ClassLibrary(Xamarin.Forms)
- php - 表格没有回复
- ruby - 如何获取已在 ruby 中定义方法的类?
- git - 如何处理多个拉取请求?
- android - Tabview 不会在触摸时更改选项卡
- javascript - 替换html内容的按钮
- python - 在这个 tensorflow lstm 模型上不能减少损失
- swift - 子类化继承自 Swift 中的 Codable 的类导致的崩溃
- javascript - 开发服务器返回响应错误代码:样板代码上的 500