系统开始创建服务,并生成该服务的代码。 图1 创建服务并生成代码包 父主题: 服务管理
步骤5:生成服务代码 根据配置的业务模型生成该服务的基本代码。代码生成后,会提供一个压缩包,供您使用。关于压缩包中代码的详细介绍,请参见服务开发框架详解。 在服务依赖页面,单击“创建”。 图1 创建服务 输入变更日志描述信息,单击“创建”。
在服务列表中,单击已创建服务后的“更多 > 重新生成”,即可重新生成服务的代码。 图1 重新生成服务代码 单击操作中的“详情”,在服务详情页,同样可以对服务进行重新生成。 图2 在详情页重新编译服务 图3 重新生成代码并下载 父主题: 服务管理
图1 代码压缩包名称 了解代码结构 在AstroPro中编辑服务时,可在“生成策略 > 代码风格”中定义生成代码的工程目录结构,如图2、图3。 图2 设置代码工程目录结构 图3 工程目录不同类型设置效果 单Module、DDD:仅会生成“src”一个模块。
最终生成的代码效果如图7所示。 图7 服务代码架构 父主题: 自定义API开发指南
当目标业务代码报错时,如果用户想要执行自定义的降级逻辑可以参考以下配置。具体使用方式如下: pom文件添加依赖。 配置文件,参考下面配置样例。
生成的客户端库可以作为服务间通信的标准工具,减少了重复的代码编写,提高了开发效率和代码的可重用性。 约束与限制 配置连接器为Astro Pro企业版功能,如果您需要使用此功能,请升级Astro Pro实例版本。
devspore.swagger-extension.generate-mode Enum(CLIENT, SERVER) CLIENT 使用此swagger生成客户端代码或服务端代码。
当使用缓存优先功能时,在执行目标业务代码时,优先会查询缓存,如果缓存存在则返回缓存结果,如果缓存不存在则执行目标业务代码。 当使用缓存优先时clientcontrol的处理逻辑如下: 读取缓存,判断是否是性能缓存。 如果是性能缓存,直接将性能缓存当结果返回。
组件纳管的依赖包和版本 组件纳管的依赖包 spring-boot-starter-huawei包含的依赖包(代码中pom可不引入相关依赖)。
devspore-clientcontrol使用概述 本文主要描述如何通过devspore-clientcontrol在代码中使用超时、重试、熔断和降级的功能。 开发能力要求 您需具备以下开发能力: 熟悉Java语言,并有Java程序开发经验。 熟悉Maven。
当使用服务优先功能时,在执行目标业务代码时,优先执行业务代码并返回,如果业务代码报错则去查询缓存并返回。具体使用方式如下: pom文件添加依赖。 配置文件,参考下面配置样例。
DDD “代码风格 > 工程目录”设置为“DDD”时,和“单Module”一样,仅会生成“src”一个模块,如图1所示。 图1 DDD 代码结构说明 代码结构说明中的“{biz}”,为在AstroPro的业务设计中定义的对象,如BO、Abstract BO等。
单Module 工程目录结构 “代码风格 > 工程目录”设置为“单Module”,仅会生成“src”一个模块,如图1所示。 图1 单Module 代码结构说明 代码结构说明中的“{biz}”,为在AstroPro的业务设计中定义的对象,如BO、Abstract BO等。
概述 devspore-swagger-extension是对原生swagger进行增强的组件,通过添加自定义标签手段,使得swagger更好的描述泛型类,在AstroPro代码生成阶段可正确生成泛型类。该组件需配合springfox(swagger2)使用。
图2 设置服务基本信息 服务名称:设置待添加服务的名称,生成的服务代码压缩包和解压后的文件会以此命名。服务名称由英文字母、数字或“-”组成,且必须以字母开头,一般采用驼峰格式,长度最低为两位。 图3 代码压缩包名称 服务类型:当前仅支持创建原子服务。
使用指南 添加依赖 代码中添加spring-boot-starter-huawei-devspore-auth-oneaccess依赖。
优势 生成满足DDD领域驱动设计的框架代码,开发人员更加专注于业务问题的解决,提高代码质量和开发效率,并且更好地支持不断演化的业务需求。 内置稳定的安全防护能力和编码规范、API规范、数据规范,极大提升了开发代码质量。 内置云服务对接能力,快速对接多种云服务。
使用超时功能 clientcontrol提供了超时功能,当目标业务方法执行超过执行时间后,会终止代码的执行,具体使用方式如下: pom文件添加依赖。 配置文件,参考下面配置样例。
图2 开启“是否生成客户端” base代码目录结构 代码结构说明中的“{biz}”,为在AstroPro的业务设计中定义的对象,如BO、Abstract BO等。
您即将访问非华为云网站,请注意账号财产安全