1、修改服务消费者【movie】yml文件:
feign:
hystrix:
enabled: true
PS:springcloud默认以为Feign整合了Hystrix并且处于打开状态,经过实验,Hystrix并未打开,加入该配置则起作用。
2、修改FeignClient.java:
@FeignClient(name = "user",fallback = UserFeignClientFallback.class)
public interface UserFeignClient {
@RequestMapping(value = "/user/getUserInfo", method = RequestMethod.GET)
Map findById(@RequestParam("userId") Integer userId);
}使用@FeignClient注解的fallback属性就可以为指定客户端设置回退逻辑。
3、新增UserFeignClientFallback类
@Component
public class UserFeignClientFallback implements UserFeignClient {
@Override
public Map findById(Integer userId) {
Map<String, String> user = new HashMap<>(3);
user.put("name","默认用户");
user.put("id","-1");
user.put("age","18");
return user;
}
}4、测试方法与之前相同。