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

Spring云函数-适用于REST API?如何访问获取路径参数?

壤驷麒
2023-03-14

该流将是API Gateway-->Lambda-->DynamoDB

为了实现API流,Spring Cloud函数会是最好的选择吗?我发现aws-serverless-java-container无缝地完成了这项工作(将事件转换为http请求/响应的包装器)

我阅读了http://cloud.spring.io/spring-cloud-function/single/spring-cloud-function.html上的文档以及https://github.com/spring-cloud/spring-cloud-function中的一些示例。但是,我仍然不能确信使用Spring Cloud函数是否能够实现API风格。

@Bean
//How path or query params can be mapped?
public Function<Flux<String>, Flux<String>> getEmployeeDetails() {
 // business logic goes here
}

任何指示都会有帮助。

共有1个答案

曾宏毅
2023-03-14

API网关将传入请求的所有数据包装到一个APIGatewayProxyRequestEvent对象中,该对象具有几个属性,如请求主体、路径和查询参数,或者原始请求的HTTP方法。对于您的用例,您将获得三个路径参数dept、employee和name。

但是,问题是在传入的APIGatewayProxyRequestEvent和您的函数之间进行映射的SpringBootApiGatewayRequestHandler目前只考虑一个请求体,而根本不考虑其他参数。

我希望开发人员将来会修复这一点。同时,您可以实现SpringBootApiGatewayRequestHandler的修改版本,它考虑了所需的参数。我写了一篇小文章,正好涉及这个话题。

 类似资料:
  • 我的目标是用子集合test2下的[0]th+[1]th+[2]the document的值更新数据更新的test1ID文档。 但是使用下面的代码,我得到了未定义的test2文档列表(currentTest2DocumentList)。 (错误消息=>TypeError:无法读取未定义的属性“0”) 我怎样才能获得有效的子托收文件列表?

  • 我想发送我的(在AngularJS控制器中)设置参数如下: 但是我不确定这是否是正确的方法,在Node.js中写什么:

  • 函数名称:获取 SD 卡路径 函数功能:获取 SD 卡路径 函数方法 path = file.getSDCardPath() 返回值 类型 说明 path string SD 卡路径 函数用例 path = file.getSDCardPath() dialog(path,5000) 注意事项 目前积木编程函数和触动精灵函数不通用,请仔细查看本手册,此手册中函数仅支持积木编程,不支持触动精灵,同

  • 我试图在我的云功能中访问Firebase云存储,但我一直在云功能日志中出现以下错误: 下面是我的代码: const admin=需要('Firebase-admin'); const函数=需要('Firebase-函数'); 下面是我的包中的依赖项。json: PS:我在星火计划上

  • 问题内容: 我正在使用Go开发REST API,但是我不知道如何执行路径映射并从中检索路径参数。 我想要这样的东西: 如果可能的话,我想只使用包而不是Web框架。 谢谢。 问题答案: 如果您不想使用任何可用的路由包,则需要自己解析路径: 将/ provisions路径路由到您的处理程序 然后根据需要在处理程序中拆分路径

  • 我们有一个预编译的C#Azure函数。这是一个HTTP触发的函数,具有必需的路由参数。如何从对象访问路由参数值?我们在同一个类文件中有几个不同的私有方法,它们已经使用了从公共Run()方法传递的实例。 我知道我可以在公共方法的签名中添加一个与route参数同名的参数,然后将该值传递给各种私有方法。但是我已经将HttpRequest对象传递到了需要使用它的地方。