Spring Cloud Feign 之初体验
环境信息: java 1.8、Spring boot 1.5.10.RELEASE、spring cloud-Edgware.SR3、maven 3.3+
Feign是什么
1、Feign使编写java http客户端更容易
2、Feign是一个Java到HTTP客户端绑定器
3、基于注解驱动,支持 JAXRS-2.0、spring mvc 注解系列、自带注解@RequestLine
等等。
4、支持http客户端扩展,如: Apache HttpClient、OKHTTP等主流的HTTP客户端。
为什么用Feign
1、可以与多种HTTP客户端集成
2、spring 已经完全集成feign
3、极大地简化了HTTP请求代码量
4、与ribbon负载均衡器、hystrix熔断器无缝集成。
Feign使用例子
本项目使用spring boot+maven构建的,如果对于spring boot不了解的同学请先了解下。
话不多说,首先来个例子让大家体验下Feign的魅力
代码示例
下面以User类为例,简单的保存、查询全部、根据id查询三个接口。
maven pom.xml文件使用的相关依赖项
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.10.RELEASE</version>
</parent>
<groupId>com.example.feign</groupId>
<artifactId>spring-cloud-feign</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<spring-cloud.version>Edgware.SR3</spring-cloud.version>
<java.version>1.8</java.version>
</properties>
<dep