尝试从 Java 中的 AWS 网关获取 HTTP headers 等

Trying to get HTTP headers, etc. from AWS Gateway in Java

我确信对此有一个简单的答案,但我只在 Amazon 的网站上找到了 JS/Node 个示例。

我正在尝试从网关获取完整请求以传递给 AWS Lambda。我知道您可以构建自己的 POJO,我已经为一个简单的应用程序提供了它。看起来我真的很想使用 Lambda 代理集成,但我无法弄清楚如果我使用代理集成,RequestHandler 对请求和响应的 Amazon 类 期望是什么。

我的问题是:

  1. 我使用 Lambda 代理集成获取完整请求的路径是否正确?
  2. 我应该在 RequestHandler 中使用什么 Java 类?

谢谢!

您可以使用以下处理程序结构:

@Override
class Handler implements RequestHandler<Map<String,Object>, Map<String,Object>> {
    public Map<String,Object> handleRequest(Map<String,Object> input, Context context) {
         // ...
    }
}

您的回复 object 应该是带有

的地图
  • statusCode:HTTP 响应代码(例如 200)
  • headers:HTTP headers 的映射(例如,"Content-type"="application/json")
  • body:实际响应内容(由Content-Typeheader描述)