请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师你好,请教一个问题,当FeignClient注解中使用fallback会导致AuthorityFeignClient接口注入报错

老师好,请教一个问题:

注入时会报错:
Could not autowire. There is more than one bean of ‘AuthorityFeignClient’ type.

There is already ‘authorityFeignClientFallback’ bean method
service.communication.hystrix.AuthorityFeignClientFallback#getTokenByFeign(UsernameAndPassword) mapped.

我这里是否是spring无法确定注入哪里一个bean导致的?但是只要是使用fallback就会需要定义个实现类,spring在注入bean时就无法得知具体注入哪个实现类了?
这里能通过@Qualifier来指定使用代理类实例注入吗?

@FeignClient(
        contextId = "AuthorityFeignClient",
        name = "e-commerce-authority-center",
        fallback = AuthorityFeignClientFallback.class
)

正在回答 回答被采纳积分+3

2回答

张勤一 2022-09-17 21:24:43

使用 fallback 这个参数,这个参数所指定的类是必须要实现 @FeignClient 类的接口的,看看我在课程中的例子,或者是找找博客对照写就行了。

1 回复 有任何疑惑可以回复我~
  • 提问者 hmall #1
    谢谢老师,找到问题了,是因为我再 public interface AuthorityFeignClient接口声明上面加了一个@RequestMapping的统一路径注解
    回复 有任何疑惑可以回复我~ 2022-09-17 22:48:25
提问者 hmall 2022-09-17 22:47:43

https://img1.sycdn.imooc.com//szimg/6325ddc209b5ef1706570085.jpg找到原因了,是因为在接口定义上加了@RequestMapping注解导致的,所以无法使用fallback,但是fallbackFactory可以生效

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信