Spring Cloud之Feign
前言:
Feign是Netflix开发的声明式、模板化的HTTP客户端, Feign可以帮助我们更快捷、优雅地调用HTTP API。
在Spring Cloud中,使用Feign非常简单——创建一个接口,并在接口上添加一些注解,代码就完成了。Feign支持多种注解,例如Feign自带的注解或者JAX-RS注解等。
Spring Cloud对Feign进行了增强,使Feign支持了Spring MVC注解,并整合了Ribbon和Eureka,从而让Feign的使用更加方便。
Spring Cloud Feign是基于Netflix feign实现,整合了Spring Cloud Ribbon和Spring Cloud Hystrix,除了提供这两者的强大功能外,还提供了一种声明式的Web服务客户端定义的方式。
Spring Cloud Feign帮助我们定义和实现依赖服务接口的定义。在Spring Cloud feign的实现下,只需要创建一个接口并用注解方式配置它,即可完成服务提供方的接口绑定,简化了在使用Spring Cloud Ribbon时自行封装服务调用客户端的开发量。
1 修改POM文件
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-feign</artifactId>
</dependency>
2 在启动类上加入@EnableFeignClients
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class FeignServerRunner {
public static void main(String[] args) {
//启动入口
SpringApplication.run(FeignServerRunner.class, args);
}
}
3 新建feign接口
4 修改controller(为了方便随意取的名字不要模仿我 还是要严格命名)
@RestController
@RequestMapping("feign")
public class FeignController {
@Autowired
private TestFeign testFeign;
@RequestMapping("/ss")
public List list(){
return testFeign.list();
}
}
5 总结
在feign使用中会遇到坑,就是上面所提到的写全路径