使用模板创建服务
使用说明
您可以在“资产库”中自定义模板。当您的业务与模板中的场景相似度较高时,可以通过模板创建新的服务,减少重复开发,提高交付效率。
使用模板创建服务
- 参考登录AstroPro界面中操作,登录AstroPro界面。
- 在左侧导航栏中,选择 。
- 选择项目和服务组,单击“新建服务”。
图1 新增一个服务
- 设置服务的基本信息。
图2 设置服务基本信息
- 服务名称:设置待添加服务的名称,由英文字母、数字或“-”组成,且必须以字母开头,一般采用驼峰格式,长度最低为两位。
- 服务类型:当前仅支持创建原子服务。原子服务是指对外提供业务对象管理API,有独立数据存储(一般为独立数据库)的服务。原子服务之间可以相互调用。
- 服务组:选择服务所属的分组。
- 服务单元化策略:服务在子域内的单元化策略。服务单元化策略必须在一个子域内定义,不能跨子域。
- API版本:指定服务的API版本,对应服务Service段的apiVersion字段,一般为v1、v2类型的值。
- 描述:设置服务的描述信息。
- 单击“确定”,即可完成服务的创建。此处创建服务的操作,相当于为服务搭建了一个框架。您需要根据自身业务的需求继续编辑服务。
- 在服务列表中,单击已创建服务后的“编辑”。
- 设置服务基本配置、详细配置及客户端配置。
- 基本配置
图3 基本配置
- 基本配置:若本地已有配置好的服务元数据,可通过单击“导入元数据”,直接导入。
- 微服务名称:自动关联4中创建的服务名称。
- Group ID:服务所属项目中的组ID,会自动关联已新建项目中Group的值。在Maven项目中用作工程组的标识,Group ID在一个组织或项目中通常是唯一的。
- Package:设置生成代码的顶层包名,会自动关联已新建项目中Package的值。
- Artifact ID:在Maven项目中用作工程的标识,通常是工程的名称。
- 版本:在Maven项目中用作工程的版本号。
- 框架:选择微服务使用的开发框架,支持DEVSPORE(JDK 8 + SpringBoot 2)和DEVSPORE(JDK 17 + SpringBoot 3)。
- DEVSPORE(JDK 8 + SpringBoot 2):生成JDK8+SpringBoot2的代码框架。
- DEVSPORE(JDK 17 + SpringBoot 3):生成JDK17+SpringBoot3的代码框架。
- 详细配置
图4 详细配置
- 服务类型:当前仅支持创建原子服务。原子服务是指对外提供业务对象管理API,有独立数据存储(一般为独立数据库)的服务。原子服务之间可以相互调用。
- 服务组:选择服务所属的分组。如何创建服务组,请参见新建服务组。
- 服务单元化策略:服务在子域内的单元化策略。服务单元化策略必须在一个子域内定义,不能跨子域。
创建服务仅支持SINGLE,即单库,无论子域是否进行单元化部署,该服务只在一个单元(一般以region为单元)内部署。编辑服务时可修改单元化策略。
- API版本:服务的API版本,默认为新增一个服务时配置的版本,如果需要升级API的版本,请参见升级API版本。
- 是否启用扩展拦截:通过引入devspore-horizon插件,用户自定义继承抽象类Approve和添加配置,在请求进入和返回时增强处理。
设置为“是”时,自动在pom文件中引入devspore-horizon插件,并在所有service实现类的方法上添加“@Extension”注解。同时在plugin目录下,生成“DefaultRequestPlugin.java”示例文件。
使用插件时,用户需要在配置文件中添加devspore.horizon.processors,即配置自己编写的扩展插件注入到spirng中的名称,多个插件之间使用英文逗号隔开,扩展插件需要继承com.huawei.devspore.horizon.approver.Approve抽象类,并重写其中的doApprove方法。
- 客户端配置
- 是否生成客户端:是否生成客户端的代码。开启后,会生成服务的客户端代码,如图5。
- 客户端类型:目前仅支持“OPEN_FEIGN”
- 基本配置
- 设置完成后,单击“下一步”,进入框架配置页面。
- 在下拉框中选择已创建的模板,选择模板后,模板配置将自动带入,包括“框架配置”和“生成策略”,直接单击“下一步”即可。
图6 选择架构模板
- 在业务设计页面,在顶部下拉框中选择业务对象模板。
图7 选择业务对象模板
- 单击“下一步”。
- 添加服务依赖后,单击“创建”。
- 输入变更日志描述信息,单击“创建”。
系统开始创建服务,并生成该服务的代码。图8 创建服务并生成代码包