本节大纲:
- 简介
- 架构图
- 创建项目(接着上一章节)
- 在Fcat中的应用
简介
声明式、模板化的http客户端。
Feign通过将注释处理为模板化的请求来工作。
Feign旨在通过最少的资源和代码来实现和HTTP API的连接。
Feign使得 Java HTTP 客户端编写更方便。
特点
- 定制化
- 提供多个接口
- 支持JSON格式的编码和解码
- 支持XML格式的编码和解码
工作机制
Feign通过配置注入一个模板化请求进行工作。只需在发送之前关闭它,参数就可以被直接的运用到模板中。然而这也限制了Feign,只支持文本形式的API,它可以在响应请求方面来简化系统。
架构图
创建项目
关键代码
@FeignClient("fcat-user")
@EnableFeignClients
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-feign</artifactId>
</dependency>
创建UserFeign.java
@FeignClient(value="fcat-user")
public interface UserFeign {
@RequestMapping(value = "/",method = RequestMethod.GET)
String getHome();
@RequestMapping(value = "/hi", method = RequestMethod.GET)
String sayHi(@RequestParam(value = "username") String username);
}
创建UserFeignController
@RestController
@RequestMapping(value = "userFeign")
public class UserFeignController {
@Autowired
private UserFeign userFeign;
@RequestMapping(value = "/")
public String getHome(){
return userFeign.getHome();
}
@RequestMapping(value = "/hi")
public String getHi(){
return userFeign.sayHi("gate");
}
}
在Fcat项目中的应用
源码地址:https://gitee.com/xfdm_admin/spring-cloud/tree/master
更多相关内容请查看:
angular、spring cloud 开源实战项目源码:https://gitee.com/xfdm/FCat
QQ群:549141844代码持续更新…