SuperAPI AI 工具集

cap-java

编程与开发

查看项目

更新于 10-16 09:47

技能介绍

用途:指导在 Spring Boot 上编写 SAP CAP Java 事件处理程序,适合实现服务逻辑、校验、持久化访问与自定义动作。

主要能力:以 @Component 加 implements EventHandler 定义处理类,用 @ServiceName 指定默认服务;用 @Before 做校验与增强,@After 做副作用,@On 完全接管默认行为。可注入 PersistenceService、RemoteService,运行 CQL 的 SELECT/INSERT/UPDATE/DELETE,定义自定义 action 处理程序,抛出 ServiceException 并按 HTTP 状态返回。推荐 cds-framework-spring-boot 作为应用框架。CAP Java 5.x / CDS 10 要求 JDK 21 起、Spring Boot 4.0 起、Maven 3.9.14+。

使用方式:在 pom.xml 引入 cds-services-bom、cds-framework-spring-boot、cds-adapter-odata-v4、cds-feature-hana、h2 及 cds-maven-plugin;用 application.yaml 配置本地 H2 与 cloud 配置;实体的字符串名称应使用 Orders_.CDS_NAME 等生成常量。

限制与注意:@On 内需调用 context.setCompleted(),未注入 PersistenceService 无法访问数据库;不要用 @On 做校验;自定义插件不要用 com.sap. 作为 groupId。从 CAP Java 4 迁移可用 OpenRewrite 命令 mvn org.openrewrite.maven:rewrite-maven-plugin:run -Drewrite.recipeArtifactCoordinates=com.sap.cds:cds-services-recipes:5.0.0 -Drewrite.activeRecipes=com.sap.cds.services.migrations.Cap_5.0。CAP Java 5 内置 OData 处理,替换了 Olingo;搜索默认使用 SAP HANA 语法,可配置 cds.sql.search.syntax: ODATA 切换。启用 generateClasses 可生成实现类以加速类型化访问。更完整文档见 https://cap.cloud.sap/docs/java/。