在Spring Cloud函数中处理REST参数的推荐方法

问题描述

我真的很喜欢Spring云功能将业务逻辑与运行时目标(本地或云)分离的方式,并使其易于与无服务器提供程序集成。

我计划将SCF与API网关后面的AWS Lambda一起使用,以设计系统的后端。

但是,我还不清楚在Spring云函数内部处理REST相关参数(例如查询参数,标头,路径等)的推荐方法是什么。 根据我们的初步分析,我们可以得出两种可能的方法

  1. 在API Gateway中启用“ Lambda代理集成”时,查询参数和其他信息可作为SCF中的消息标头使用。
  2. 我们可以在API Gateway中使用“映射模板”将所有必需的信息映射到JSON主体中,并反序列化为POJO以将输入直接输入到SCF中。 这样,SCF无需理会所需数据如何传递到API。

推荐使用什么方法实现这一目标?我们是否缺少能够更好地做到这一点的东西?

解决方法

我认为您不会错过任何特色功能,但也许使用复合函数可能也很方便-例如marshal|transform,其中marshalFunction<Message<?>,?>,而transform是业务逻辑。 marshal函数可以是通用的(并转换为某种规范形式),并且可以作为自动配置在共享库中提供(例如)。