1、新增UserFeignClientFallbackFactory类,该类实现了FallbackFactory接口,重写create接口:
@Component
public class UserFeignClientFallackFactory implements FallbackFactory<UserFeignClient> {
private static final Logger LOGGER = LoggerFactory.getLogger(UserFeignClientFallackFactory.class);
@Override
public UserFeignClient create(Throwable throwable) {
return new UserFeignClient() {
@Override
public Map findById(Integer userId) {
UserFeignClientFallackFactory.LOGGER.info("===================fallback;reason was:",throwable);
Map<String, String> user = new HashMap<>(3);
user.put("name","默认用户");
user.put("id","-1");
user.put("age","18");
return user;
}
};
}
}
2、修改FeignClient类:
@FeignClient(name = "user",fallbackFactory = UserFeignClientFallackFactory.class)
public interface UserFeignClient {
@RequestMapping(value = "/user/getUserInfo", method = RequestMethod.GET)
Map findById(@RequestParam("userId") Integer userId);
}
使用@FeignClient的fallbackFactory属性设置回退逻辑。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。