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

来源:1-1 关于课程你需要了解的

hmall

2022-09-16

老师好,请教一个问题:

注入时会报错:
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
)
写回答

2回答

张勤一

2022-09-17

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

1
1
hmall
谢谢老师,找到问题了,是因为我再 public interface AuthorityFeignClient接口声明上面加了一个@RequestMapping的统一路径注解
2022-09-17
共1条回复

hmall

提问者

2022-09-17

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

0
0

Spring Cloud / Alibaba 微服务架构实战

从架构设计到开发实践,手把手实现

1210 学习 · 674 问题

查看课程