如何为对象自定义API
使用说明
当系统提供的基本操作无法满足需求时,可通过自定义API来实现
如果您的业务设置为聚合关系,则只能在主要方自定义API。
添加自定义API
- 在业务设计页面,选中某个业务对象。
- 单击BO属性操作中的“自定义API”,进入编辑自定义API页面。
- 单击“新增”,按需添加所需的API。
- 实例级别:定义API实例的级别,如类型、实例。
- 动作名称:设置API的动作名称。
- 请求方法:HTTP请求方法(也称为操作或动作),用于告诉服务您正在请求什么类型的操作。
- get:请求服务器返回指定资源。
- put:请求服务器更新指定资源。
- post:请求服务器新增资源或执行特殊操作。
- delete:请求服务器删除指定资源。
- 请求对象:单击“添加请求对象”,可添加请求对象,即API请求的输入参数。
- 返回对象:请求发送后,您会收到的响应,如状态码。
- 路径:单击“输入path”,添加API的路径,格式为变量放到“{}”中,单词用“_”连接,非变量单词用“-”连接。例如:/meta-bo1s/{meta_bo1_id}/test-action。
当您没有自定义API路径,且“实例级别”选择“实例”时,生成的API路径上会拼接一个{MetaBo}_id的路径,同时方法上会多生成一个当前MetaBo主键的参数,如图2所示。
- 描述:输入自定义API的描述信息。
- 设置代码生成层,参数设置与代码生成关系请参考表1。
表1 设置代码生成层组合说明 接口层
应用层
数据访问层
代码生成
x
√
x
仅在应用层生成代码。
x
x
√
仅在数据访问层生成代码。
√
√
x
在接口层和应用层生成代码。
x
√
√
在应用层和数据访问层生成代码。
√
√
√
在接口层、应用层和数据访问层皆生成代码。
图3 设置代码生成层
- 设置完成后,单击“保存”。
示例
创建服务时“Package”设置为“com.astropro”。在业务设计中添加自定义API,动作名称为action1,请求方式为GET,返回对象为200,代码生成层勾选接口层和应用层,则代码生成时,将在接口层和应用层生成对应API的代码,如图6所示。
目录结构 |
接口层 |
应用层 |
数据访问层 |
---|---|---|---|
DDD |
{package}.api.xxx |
{package}.app.xxx |
{package}.infrastructure.repository.base.xxx |
Single |
{package}.api.xxx |
{package}.service.xxx |
{package}.repository.base.xxx |
base/service |
{package}.api.xxx |
{package}.service.xxx |
{package}.repository.base.xxx |
package为创建服务时定义的打包路径。