You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在单个Spring Boot项目中实现多Spring Cloud Functions并部署到AWS Lambda

问题:基于Spring Cloud Function实现多CRUD操作并部署到单个AWS Lambda

背景与现有实现

我当前使用Spring Cloud Function,通过AWS适配器将函数部署到AWS Lambda,此前仅实现了单个函数,运行正常,具体结构如下:

1. Spring Boot启动类

@SpringBootApplication
@ComponentScan(basePackages = "com.demo")
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}

2. 已废弃的Lambda处理器

import org.springframework.cloud.function.adapter.aws.SpringBootRequestHandler;

public class DemoHandler extends SpringBootRequestHandler<DemoRequest, DemoResponse> {
}

3. 端点定义接口

@SuppressWarnings("hiding")
@FunctionalInterface
public interface Demoapi<DemoRequest, DemoResponse>{
    @PostMapping(value = "/v1/demo")
    public ResponseEntity<DemoResponse> demo(@RequestBody DemoRequest demoInfo);

}

4. 控制器实现

@RestController
public class Democontroller implements Demoapi<DemoRequest, DemoResponse>{
        static final Logger LOGGER = LogManager.getLogger(Democontroller.class);
        
@Autowired
private DemoService demoService;

@Override
public ResponseEntity<DemoResponse> demo(@RequestBody DemoRequest demoInfo) {
    DemoResponse demoResponse=new DemoResponse();
    try {
        demoResponse = demoService.demofun(demoInfo);
        // 省略后续业务逻辑代码
    } catch (Exception e) {
        // 省略异常处理代码
    }
}

现有部署配置

部署到Lambda时,在AWS控制台指定Handler为com.demo.DemoHandler,并设置环境变量FUNCTION_NAME为小写的控制器类名demoController,Lambda控制台测试及API Gateway调用均正常。

当前需求

我正在开发一个新项目,需要在单个Spring Boot应用中实现完整CRUD操作,并将整个应用部署为单个AWS Lambda,希望沿用类似现有结构完成开发,恳请提供实现方案。

内容的提问来源于stack exchange,提问作者akki_moote

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 00:45:32