Amazon web services AWS Lambda函数-访问路径和请求参数值
对于我的POC,创建了简单的lambda函数,它将通过RESTAPI提供emp信息。 创建lambda函数并使用API网关访问所有emp数据。 在访问特定数据时面临一些挑战 我在找 emp/1-检索emp id emp/_search?name=“苹果”-搜索名称包含苹果 问题是如何在java代码中检索路径和请求参数Amazon web services AWS Lambda函数-访问路径和请求参数值,amazon-web-services,aws-sdk,aws-api-gateway,Amazon Web Services,Aws Sdk,Aws Api Gateway,对于我的POC,创建了简单的lambda函数,它将通过RESTAPI提供emp信息。 创建lambda函数并使用API网关访问所有emp数据。 在访问特定数据时面临一些挑战 我在找 emp/1-检索emp id emp/_search?name=“苹果”-搜索名称包含苹果 问题是如何在java代码中检索路径和请求参数 public class TestAwsLambdaFunction implements RequestHandler<Map<String, Object>,
public class TestAwsLambdaFunction implements RequestHandler<Map<String, Object>, String> {
@Override
public String handleRequest(Map<String, Object> input, Context context) {
String empID= null;
try {
@SuppressWarnings("unchecked")
Map<String, String> pathParameters = (Map<String, String>) input.get("querystring");
empID= pathParameters.get("id");
System.out.println(empID);
// TO-Do Business logic -
} catch (Exception e) {
// TODO: handle exception
}
return "Hello from Lambda!" + empID;
}
}
公共类testawslambdfunction实现RequestHandler{
@凌驾
公共字符串handleRequest(映射输入、上下文){
字符串empID=null;
试一试{
@抑制警告(“未选中”)
MapPathParameters=(Map)input.get(“querystring”);
empID=pathParameters.get(“id”);
系统输出打印LN(empID);
//要执行业务逻辑-
}捕获(例外e){
//TODO:处理异常
}
返回“你好,来自Lambda!”+empID;
}
}
在RESTAPI调用中公开数据的最佳方法是什么。与Lambda或无服务器有点混淆。
可以选择通过页面显示数据。因为我是AWS的新手。请指导我设置API网关时,您需要选择
Lambda代理集成
。这是官方文件
在这种情况下,API网关将把整个请求数据传递给Lambda,包括请求头、查询字符串参数、URL路径变量等。然后可以使用Java代码解析数据。设置API网关时,需要选择
Lambda代理集成。这是官方文件
在这种情况下,API网关将把整个请求数据传递给Lambda,包括请求头、查询字符串参数、URL路径变量等。然后可以使用Java代码解析数据。问题是如何在Java代码中检索路径和请求参数。
可以使用映射模板将请求正文中的$input.params('name')属性发送到Lambda函数
在Rest api调用中公开数据的最佳方式是什么
将代理集成与以下准则结合使用:
- 避免贪婪的路径变量,可能除了catch-all 404
- 避免使用任何方法
- 定义请求模型并启用请求验证(记住默认情况下它是关闭的)
- 在Lambda中,检查内容类型标头是否与某个请求模型匹配,如果不匹配,则返回415不支持的媒体类型状态代码(代理集成使用WHEN_NO_MATCH passthrough行为)。在该检查之后,您的Lambda可以假定请求验证已完全实施
本·凯霍
问题是如何在java代码中检索路径和请求参数。
可以使用映射模板将请求正文中的$input.params('name')属性发送到Lambda函数
在Rest api调用中公开数据的最佳方式是什么
将代理集成与以下准则结合使用:
- 避免贪婪的路径变量,可能除了catch-all 404
- 避免使用任何方法
- 定义请求模型并启用请求验证(记住默认情况下它是关闭的)
- 在Lambda中,检查内容类型标头是否与某个请求模型匹配,如果不匹配,则返回415不支持的媒体类型状态代码(代理集成使用WHEN_NO_MATCH passthrough行为)。在该检查之后,您的Lambda可以假定请求验证已完全实施
本·凯霍