Feign是Springcloud组件中的一个轻量级Restful的HTTP服务客户端,底层Httpclient工具,Feign内置了Ribbon, feignClient已经默认使用了ribbon自带负载均衡,去调用服务注册中心的服务。
Feign的使用方式是:使用Feign的注解定义接口,调用这个接口,就可以调用服务注册中心的服务
依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
启动类
@SpringBootApplication
@EnableFeignClients
public class SpringcloudConsumer8002Application {
public static void main(String[] args) {
SpringApplication.run(SpringcloudConsumer8002Application.class, args);
}
}
接口
@Repository
@FeignClient(value = "goodstype-provider") //goodstype-provider为服务名
public interface FeignInterface {
@GetMapping("/provider/goodstype/get/{id}")
Goodstype findById(@PathVariable("id")int id);
}
controller
@Autowired
private FeignInterface feignInterface;
@GetMapping("/test/{id}")
public Goodstype addCart(@PathVariable("id") int id){
return feignInterface.findById(id);
}
feign:
compression:
request:
enabled: true # 开启请求压缩
mime-types: text/html,application/xml,application/json # 设置压缩的数据类型
min-request-size: 2048 # 设置触发压缩的大小下限
response:
enabled: true # 开启响应压缩
欧克