在前面的学习中,我们使用了Ribbon的负载均衡功能,大大简化了远程调用时的代码:
String user = this.restTemplate.getForObject("http://service-provider/user/" + id, String.class);
如果就学到这里,你可能以后需要编写类似的大量调用代码,格式基本相同,无非参数不一样。有没有更优雅的方式,来对这些代码再次优化呢? 这就是我们接下来要讲的Feign的功能了。
一、简介——什么是Feign
Feign可以把Rest的请求进行隐藏,伪装成类似SpringMVC的Controller调用service一样,你不用再使用传统的restTemplate构造请求、解析返回数据等等操作,一切都交给Feign去做。 (用过Dubbo的同学可以将其形成一个联系与对比。) 项目主页:https://github.com/OpenFeign/feign简单画了一个调用图二、实操——代码演示
1.导入openfeign依赖
<dependency> <groupId>org.springframework.cloudgroupId> <artifactId>spring-cloud-starter-openfeignartifactId> dependency>
2.启动类开启feign功能
&