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

调用AWS Lambda Java函数的AWS网关收到空正文

胡沈义
2023-03-14
public class LambdaFunctionHandler implements RequestHandler<APIGatewayProxyRequestEvent, APIGatewayProxyResponseEvent> {
    @Override
    public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input, Context context) {
        return new APIGatewayProxyResponseEvent().withBody(input.getBody());
    }
}
{}
    null

我想通过POSTMAN传递给API网关POST方法的请求体是

{
    "question":"Hello, how are you doing?"
}

谢谢!

共有1个答案

萧展鹏
2023-03-14

我也试过。我用的密码是

public class LambdaFunctionHandler implements RequestHandler<APIGatewayProxyRequestEvent, APIGatewayProxyResponseEvent> {

    public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent apiGatewayProxyRequestEvent,
            Context context) {
        return new APIGatewayProxyResponseEvent().withBody(apiGatewayProxyRequestEvent.getBody());
    }
}

我猜您是直接从AWS控制台进行测试。不能直接测试事件触发的lambda。

您必须使用“Amazon API Gateway Proxy”事件创建测试,如下所示。

 类似资料:
  • 如果我添加了一个特定的方法,比如POST而不将其设置为Lambda代理集成,那么我确实会看到provide request body data将其添加到Lambda函数中,并正确地反序列化到POJO中,然后返回 所以现在看起来一切都很好,但是当我使用HTTP方法POST对来自PostMan的AWS API URL进行实际测试时,我得到了以null作为约会Id的响应,并且我可以在CloudWatch

  • 我的(非常简单的)代码看起来是这样的: 我将构建好的jar上传到Lambda,并通过创建一个测试事件在AWS控制台中进行测试。它返回正确的响应,正如预期的那样。 但是,我希望API网关调用这个Lambda。我既使用了Lambda代理集成,也定义了自己的主体映射模板。我似乎无法使它工作,我一直得到: 我确定这是一件很简单的事情,我只是错过了一些东西...

  • 我创建了一个简单的python 3.7 lambda函数: 此函数用于从s3存储桶中读取json文件。json文件如下所示: {id: 1, name: John, pwd:密码} 响应:{“statusCode”:200,“headers”:{“Content Type”:“application/json”},“body”:{“id”:1,“name”:“John”,“pwd”:“passwo

  • 当我在代码中进行扫描后到达此部分时,我收到此错误: Project2_JoshuaLucas[,0,0,0x0,无效,布局=java.awt.FlowLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=java.awt.Dimension[width=350,hei