网站开发需求确认书,国家商标注册官网查询系统,十大永久免费的软件下载,单位网站怎么制作一#xff0c;为什么要编写失败降级逻辑 业务失败后#xff0c;不能直接报错#xff0c;而应该返回用户一个提示或者默认结果 二#xff0c;实现步骤
1#xff0c;自定义类实现FallbackFactory接口 import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Sl…
一为什么要编写失败降级逻辑 业务失败后不能直接报错而应该返回用户一个提示或者默认结果 二实现步骤
1自定义类实现FallbackFactory接口 import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;Slf4j
public class AdClientFallbackFactory implements FallbackFactoryFeignClient客户端名称 {//重写里面的方法 直接编写降级逻辑就可以Overridepublic UserClient create(Throwable throwable) {return new UserClient() {Overridepublic User findById(Long id) {log.error(查询异常, throwable);return new User(); //不要返回NUll 容易造成空指针异常}};}
}2将AdClientFallbackFactory 注册为一个Bean
Bean
public AdClientFallbackFactory AdClientFallbackFactory(){return new AdClientFallbackFactory();
}
3,在feing项目中的XXXClient接口中使用AdClientFallbackFactory
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;FeignClient(value adservice, fallbackFactory AdClientFallbackFactory.class)
public interface AdClient {GetMapping(/Ad/{id})User findById(PathVariable(id) Long id);
}