使用Springboot+Feign Clients快速搭建REST客户端应用
更新时间:2018-10-31 | 阅读量(1,097)
在本文中,我们会快速的使用Springboot,配合Feign搭建一个简单的REST客户端应用。通过本示例,让大家对这两个框架的配合有一个基本的了解。
[Spring Boot](https://spring.io/projects/spring-boot) 是一个Java的快速开发框架,用于简化web和企业级应用开发。Spring boot内置tomcat服务器,提供了大量的starter配置,实现多种组件的自动装配。
[Feign](https://github.com/OpenFeign/feign) 是Netflix提供的一个实现了REST API 客户端的声明式开发框架。Feign允许使用标签注解接口达到声明式的创建REST客户端,具体的实现在运行时提供。
### 项目环境
准备好以下的工具:
1. JDK 1.8.81
2. IntelliJ 2018.2.2
3. Spring Boot 2.0.4
4. Gradle 4.10
5. Spring Cloud Finchley.SR1
### 创建一个Springboot应用
在IDEA中File->new->Project:

选择Spring Initializr,并选择一个合适的JDK版本:

指定一个Group和Artiface名字。选择Gradle Project并且输入一个项目的版本。

在接下来的窗口中选择:
- Core -> DevTools
- Web -> Web
- Cloud -> Cloud Bootstrap

最后一步中,为项目选择一个保存地址:

到此为止,我们已经成功创建了一个springboot的基础项目。

### 编写Controller
创建一个名叫FeignController的类。将类标记为Controller,并且实现一个返回ResponseEntity的方法,方法标记为接受Get请求。在这个版本中,我们的IWeatherClient返回一个虚拟的数据。
```
package com.example.feign.controller;
@RestController
public class FeignController {
private final IWeatherClient weatherClient;
@Autowired
public FeignController(IWeatherClient weatherClient) {
this.weatherClient = weatherClient;
}
@GetMapping(path = "/weather")
ResponseEntity