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属性设置回退逻辑。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。