Feign
是开源的声明式http客户端,简化restTemplate调用时url难以维护,代码不可读等问题。
只要声明一个接口,feign就会自动构造一个请求的地址并请求
feign也具有负载均衡,通过整合ribbon实现,所以之前ribbon配置在这依然可用。
加依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
加注解
在启动类上加@EnableFeignClients
没有配置
创建远程http调用接口
@FeignClient(name = "user-center")
public interface UserCenterFeignClient{
//当findById被调用的时候,feign就会构建出http://user-center/users/{id}并请求
@GetMapping("/users/{id}")
UserDTO findById(@PathVariable Integer id);
}
如果参数多的话,写成(@RequestParam xx1,xx2,xx3...)即可
调用的时候就可以不用restTemplate,并写相关url,用UserCenterFeignClient.findById(id)即可。