在使用@FeignClient注解前,我们需要先引入其相关依赖,版本为3.0.1
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
<version>3.0.1</version>
</dependency>
例如我们有一个user服务,user服务中有很多个接口,我们通过@FeignClient来实现接口的调用,不想将所有的调用接口都定义在一个接口类中,因此构建了下述两个Feign接口类:
@FeignClient(name = "user-server")
public interface UserServerClient1 {
@GetMapping("/user/get")
public User getUser(@RequestParam("id") int id);
}
@FeignClient(name = "user-server")
public interface UserServerClient2 {
@GetMapping("/user/getAll")
public List<User> getAllUser();
}
这种情况下启动项目,项目就会报错,因为Bean的名称冲突了,具体错误如下: