java - 如何访问 AWS Lambda 函数中的路径变量 (GET)

标签 java amazon-web-services aws-lambda aws-api-gateway serverless

我正在使用 aws lambda 和 API 网关。对于我的 compare-yourself-api 资源,我创建了一个名为 field 的子资源(请引用屏幕截图)。

当我测试它时,我可以看到请求 uri:/compare-yourself-api/test1。 我可以在请求中看到 test1 但不确定如何在我的函数处理程序中访问该字段。我试过 Map<String,String>作为输入代替对象,但仍然是同样的问题。我得到的是空值。

网关方法测试屏幕的输出是: “{}来自 Lambda 的问候!”

没有任何对象的空花括号。

这是我的 lambda 函数。

package com.amazonaws.lambda.demo;

import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;

public class LambdaFunctionHandler implements RequestHandler<Object, String> {

    @Override
    public String handleRequest(Object input, Context context) {
        context.getLogger().log("Input: " + input);


        // TODO: implement your handler
        return input+"   Hello from Lambda!";
    }

}

请建议我如何在 Lambda 函数处理程序 java 中获取路径变量。

Gateway resources and methods

最佳答案

您的参数作为查询字符串传递。你可以从请求中找到它。像这样的 How to pass a querystring value from AWS API Gateway to a Lambda C# function

关于java - 如何访问 AWS Lambda 函数中的路径变量 (GET),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48987135/

相关文章:

java - 转换变量的问题

java - 模拟加权随机数 - Java

amazon-web-services - CloudFront 是否在来自源的错误响应(例如 503)中使用 Cache-Control header ?

amazon-web-services - AWS SQS 可以发布到 SNS 还是需要轮询 SQS?

javascript - 卡在等待 s3.listObjects 上

在 AWS CDK 代码中引用 Lambda 代码时出现 java.lang.ClassNotFoundException

java - Scala 阻塞图

java - 与 ^.*(?=.*\\d)(?=.*[a-zA-Z])(?=.*[!@#$%^&]).*$ 匹配的单词

amazon-web-services - 用于拉取请求的 AWS Amplify 环境变量?

android - AWS cognito 与 AppAuth 集成