1、新增UserFeignClientFallbackFactory类,该类实现了FallbackFactory接口,重写create接口:

@ComponentpublicclassUserFeignClientFallackFactoryimplementsFallbackFactory<UserFeignClient>{privatestaticfinalLoggerLOGGER=LoggerFactory.getLogger(UserFeignClientFallackFactory.class);@OverridepublicUserFeignClientcreate(Throwablethrowable){returnnewUserFeignClient(){@OverridepublicMapfindById(IntegeruserId){UserFeignClientFallackFactory.LOGGER.info("===================fallback;reasonwas:",throwable);Map<String,String>user=newHashMap<>(3);user.put("name","默认用户");user.put("id","-1");user.put("age","18");returnuser;}};}}

2、修改FeignClient类:

@FeignClient(name="user",fallbackFactory=UserFeignClientFallackFactory.class)publicinterfaceUserFeignClient{@RequestMapping(value="/user/getUserInfo",method=RequestMethod.GET)MapfindById(@RequestParam("userId")IntegeruserId);}

使用@FeignClient的fallbackFactory属性设置回退逻辑。