如果为每一个方法进行一对一的服务降级代码编写会让代码臃肿,这里介绍一下全局服务降级的相关配置
环境的配置
环境的配置包括pom、properties以及主启动类的配置,这里可以参考Hystrix服务降级中相关的配置
代码的编写
- 在整个类上面添加注解@DefaultProperties
- 在该注解中通过属性defaultFallback指定服务降级方法
- 如果某一个方法添加了注解@HystrixCommand并且没有指定单独的服务降级方法,则使用默认服务降级方法
@RestController
@DefaultProperties(defaultFallback = "globalFallback")
public class PaymentController {
@RequestMapping("g/{id}")
@HystrixCommand
public JsonResult<String> g(@PathVariable("id") Integer id){
int age = 10/0;
return new JsonResult<>(200,data);
}
public JsonResult<String> globalFallback(){
return new JsonResult<>(405,"服务请求异常");
}
}