很多人了解feign是作为spring cloud的一个组件认识到的,feign可以帮助开发者去调用其他微服务,起到的就是httpClient的作用,可以说和eureka是唯二最重要的两个组件了。
feign的使用是非常简单的,注入依赖,接口标上@FeignClient(),接口中的方法写明要调用方法的方法头即可。
但是feign其实可以单独使用的,这会大大帮助我们提高开发调用接口的效率。
1,引入依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
<version>3.0.6</version>
</dependency>
2,FeignClient
@FeignClient(name = "peopleClient",url = "${feignclient.people}")
public interface peopleClient {
/**
* @description: 获取用户数据
**/
@RequestMapping(value = "/getPeopleInfo", method = RequestMethod.GET)
String getPeopleInfo();
}
3,yml中配置url前缀
yml中的前缀和FeignClient中url拼接起来应该是要调用接口的完整url
feignclient:
people: 127.0.0.1:8080
4,启动类上@EnableFeignClients
启动类上需要标注注解EnableFeignClients(basePackages=“cn.test.xxx”),包路径为feignClient所在的包路径
5,注意事项
需要注意的是,feign作为spring cloud的组件,可能会和spring的版本有冲突。可能需要降低spring的版本。[1,2]
参考文献:
[1],@FeignClient的使用及与Spring Boot的版本适配
[2],Spring Cloud