检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
访问熔断状态的方法时报错异常 问题描述 运行时报错Request processing failed; nested exception is io.github.resilience4j.circuitbreaker.CallNotPermittedException: CircuitBreaker
升级API版本 使用说明 服务创建后,若需要修改服务的API版本号,可通过新增版本实现。 图1 API版本号 API版本对应服务metadata.json文件中,Service段的apiVersion字段,一般为v1、v2类型的值。 图2 查看apiVersion取值 操作步骤
如何为对象自定义API 使用说明 当系统提供的基本操作无法满足需求时,可通过自定义API来实现 图1 查看操作类型 约束与限制 如果您的业务设置为聚合关系,则只能在主要方自定义API。 添加自定义API 在业务设计页面,选中某个业务对象。 单击右侧属性配置中的“自定义API”,进入编辑自定义API页面。
使用swagger进行在线API文档配置 文档配置 spring-boot-starter-huawei添加了swagger2和swagger3包的依赖,API在线文档使用springdoc-openapi-ui。springdoc基本配置较为简单,如下所示: springdoc: api-docs:
does not permit further calls”异常。 可以通过这个异常参数找到熔断的原因,如果日志过大,找不到熔断前的日志,可以对异常参数类型做个判断,将CallNotPermittedException异常和其他异常区别打印,这样更方便定位问题。如下所示: public
注意事项 当使用超时功能时,当前方法不能运行在异步线程中,异步会导致超时功能失效。 触发重试的机制是方法抛出异常,不管是什么异常,只要抛出了异常方法就会重试,如果抛出某些异常的时候不想重试,则可以参考配置中的ignore-exceptions,没有的时候此参数可以不配置。 配置中的
Class<? extends Throwable> - - 不触发重试的异常,此项配置在超时启用时失效。 retry-exceptions 否 Class<? extends Throwable> - - 指定触发重试的异常。 表7 Fallback数据结构说明 参数名称 是否必选 参数类型
redis缓存不存在的属性反序列化 找不到createMultiZonClient的bean 自定义缓存key读取失败 访问熔断状态的方法时报错异常 clientcontrol注解不生效 自定义降级方法不生效 在项目启动时报NPE问题 熔断器打开,导致方法调用失败 redis故障后clientcontrol的处理逻辑是什么
# API层代码,定义向外部服务暴露的接口(必填项) {biz}Api.java {biz}Controller.java |-- service # 承接API直接调用,基本的业
public class CardApiController implements CardApi { ------ } 7、x-method-annotations 作用: 添加指定的注解。 该标签用于在api接口类中指定的api方法上添加注解。 标签值类型: List
通过导入swagger文件实现业务设计 Swagger文件是一个用于描述RESTful API的规范,它可以用来导入设计业务,确保 API 的设计符合业务需求。 前提条件 根据业务模型,完成swagger文件设计,swagger标签使用可参考swagger标签使用指南 导入swagger文件
被监控组件或应用名称。 devspore.probe.metrics.api-description-tags false boolean 是否开启http_server_request指标添加description标签功能,如开启,会自动添加@ApiOperation注解的value字段或@Oper
用户自定义鉴权使用 devspore提供鉴权插件接口,用户只需实现对应鉴权接口即可。 自定义鉴权插件 继承抽象类Processor,实现doProcess接口,可定义多个插件。 插件均需注册为bean。 import com.huawei.devspore.plugin.spi.authorization
找不到createMultiZonClient的bean 问题描述 当使用缓存功能,并且缓存组件使用的redis时,报如图所示的异常。 图1 报错异常 解决方案 使用devspore-dcs连接redis。 devspore-dcs会默认创建一个bean名称为createMult
解析成功后调用setUserInfo(UserInfo userInfo)接口存储用户信息。 后续业务接口鉴权或业务逻辑需要时调用getUserInfo()接口获取当前用户信息。 实现UserStore接口 import com.huawei.devspore.plugin.spi
ct BO等。 com.astropro |-- api # API层代码,定义向外部服务暴露的接口(必填项) {biz}Api.java
执行框架转换 应用场景 针对企业中使用Dubbo等其他API框架的存量服务,AstroPro支持将代码统一转换为Spring MVC + OpenAPI的主流框架。转换后的框架将统一化,这有助于简化技术栈,降低技术多样性带来的复杂性,同时提高开发和运维团队的效率。 约束与限制 框架转换为Astro
ract BO等。 com.astropro |-- api # API层代码,定义向外部服务暴露的接口(必填项) {biz}Api.java {biz}Controller.java
NESTED:是否设置DTO的NESTED(嵌套)能力。默认为生成DTO读写API。 不设置:不生成NESTED。 只生成DTO:只生成NESTED对象的类。 生成DTO读API:只会生成一个get接口。 生成DTO读写API:除了生成一个get接口,还会生成一个插入接口。 DTO暴露方式 - CARTESIAN
至画布空白区域。 选中BO对象,在对象属性中,单击“自定义API”。 图3 自定义API 单击“新增”,添加一个自定义API。 图4 自定义一个API 在请求对象或返回对象的参数中,使用自定义DTO。 图5 在自定义API中使用自定义DTO 父主题: AstroPro学堂