做feign例子的时候,在编写熔断器之前,是好用的,但是当编写熔断器之后,启动程序会抛出异常java.lang.IllegalStateException: Ambiguous mapping
@FeignClient(name = "myservice", fallback = UserFeignFallback.class)
@RequestMapping("/user")
public interface UserFeignClient {
@GetMapping("/{id}")
User getUser@PathVariable Long id);
}
@Component
public class UserFeignFallback implements UserFeignClient {
@Override
public User getOne(Long id) {
User= new User();
user.setName("熔断器user");
return user;
}
}
并没有发现哪里有问题
最后将feign接口的@RequestMapping去掉,就好用了
@FeignClient(name = "myservice", fallback = UserFeignFallback.class)
public interface UserFeignClient {
// 将链接拼在方法上而不是放在类上做全局处理
@GetMapping("/user/{id}")
User getUser@PathVariable Long id);
}
本文探讨了在使用Feign客户端实现熔断器时遇到的一个常见问题:启动程序时出现java.lang.IllegalStateException异常。通过调整@RequestMapping注解的位置,从类级别移至方法级别,成功解决了此问题。
8930





