给|给 SAP BTP 创建的 Java 应用添加 Custom Event Handler 支持创建功能
在 productservice
文件夹下新建一个 handler 文件夹:
文章图片
在该文件夹里新建一个 AdminService.java
文件:
文章图片
此类现在处理针对 AdminService 的 Products 实体的 READ 和 CREATE 事件。
- READ 操作只返回保存在内存中的所有实体。
- CREATE 事件从 CQN 表示中提取有效负载并将其存储在内存中。
事件处理程序使用以下 API,这些 API 可用于 CAP Java 中的服务提供者:
- 事件处理程序类必须实现标记接口,
marker interface
EventHandler 并将自己注册为 Spring Beans (@Component)。标记接口很重要,因为它使 CAP Java 运行时能够在所有 Spring Bean 中识别这些类。 - 事件处理程序方法使用@Before、@On 或@After 注释注册。每个事件,例如实体创建,都会经历这三个阶段。每个阶段的语义略有不同。
- 注释 @ServiceName 指定所有事件处理程序方法适用的默认服务名称。这里是 AdminService,因为这也是在 CDS 模型中定义服务时的名称。
使用命令行
mvn clean spring-boot:run
启动这个模板应用,然后在命令行里使用 curl 命令插入一条新的 product 数据:curl -X POST http://localhost:8080/odata/v4/AdminService/Products \
-H "Content-Type: application/json" \
-d '{"ID": 42, "title": "My Tutorial Product", "descr": "You are doing an awesome job!"}'
插入成功:
文章图片
【给|给 SAP BTP 创建的 Java 应用添加 Custom Event Handler 支持创建功能】打开 Java 应用 url:
https://workspaces-ws-pdwk4-a...
能看到刚刚插入的 product:
文章图片
推荐阅读
- 如何将|如何将 SAP Business Application Studio 里开发的 Java 应用部署到 SAP BTP 上
- 一个实际的例子学习|一个实际的例子学习 SAP BTP Java 应用的 @Before 注解使用方式
- android的js互调,如何在webView加载前给web传值
- 如何在|如何在 SAP BTP Java 应用里使用 SQLite 数据库
- 使用|使用 SAP BTP 创建一个 Spring Boot Java 应用
- 如何在|如何在 SAP BTP 平台上重用另一个已经开发好的 service
- CSAPP-Lab03|CSAPP-Lab03 Attack Lab 记录
- linux存放系统文件的目录是,linux系统文件目录列表简介
- python|可以给AI减轻负担的Python AI库有哪些()
- java|java 如何给对象中的包装类设置默认值