AWS Lambda REST API POST 方法 我无法获取查询参数

AWS Lambda REST API POST Method i cannot get query parameters

提问人:BHeiB 提问时间:10/27/2023 更新时间:10/28/2023 访问量:25

问:

我的 REST API 有问题。我需要传递查询参数,因为我稍后需要将其用于另一个函数。在 AWS 控制面板中,我的 REST API Gateway 的 url 为“something/restaurant/confirmation”。确认资源具有 POST 方法。我在集成请求中设置了url查询字符串参数,映射模板。我使用地址“amazonaws.com/dev/restaurant/confirmation?tokenId=6a25980e-7c07-4d1d-a40e-bf09b9e2bd37”,但一直以来我都在得到 ""{tokenId": "$input.params('tokenId')}""

errorMessage": "Cannot invoke \"java.util.Map.get(Object)\" because the return value of \"com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent.getQueryStringParameters()\" is null",
"errorType": "java.lang.NullPointerException",
"stackTrace": [
    "com.example.couponservice.CouponService.handleRequest(CouponService.java:60)",
    "java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)",
    "java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)",
    "java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)",
    "java.base/java.lang.reflect.Method.invoke(Unknown Source)"

这是我的一段代码'public APIGatewayProxyRequestEvent handleRequest(APIGatewayProxyRequestEvent apiGatewayProxyRequestEvent, Context context) {

    LambdaLogger logger = context.getLogger();
    logger.log("Handling http post for /users API endpoint");

    String requestBody = apiGatewayProxyRequestEvent.getBody();
    Gson gson = new Gson();
    Map<String, String> requestDetails = gson.fromJson(requestBody, Map.class);

    logger.log("test1 tqweqwe" + apiGatewayProxyRequestEvent.getQueryStringParameters());
    logger.log("test2 tokasdasdth" + apiGatewayProxyRequestEvent.getQueryStringParameters().get("tokenId"));
    String tokenIdFromPath = apiGatewayProxyRequestEvent.getQueryStringParameters().get("tokenId");


    logger.log("a test3 tokenfrompath" + tokenIdFromPath);`

3天后,我不知道出了什么问题。我已经检查了一些在线资源,但仍然找不到解决方案。有谁知道出了什么问题?也许我以某种方式发送了错误的论点?有一个空错误代码,我不明白为什么,因为理论上我正确发送了它。logger.log 也给出 null。谢谢大家

java amazon-web-services aws-lambda nullpointerexception http-post

评论


答: 暂无答案