Spring Cloud入门 (3) - REST客户端Feign
2020-12-13 14:57
标签:通信 原理 out map 生成 框架 ace void local 1、简介 在Spring Cloud集群中,各个角色的通信基于REST服务,因此在调用服务时,就不可避免的需要使用REST服务的请求客户端了。 Spring 中自带了RestTemplate,RestTemplate使用HttpClient发送请求。 Spring Cloud 将Feign 框架集成到了 Spring Cloud 的 Netflix 项目中,在其中结合 Ribbon 实现了 负载均衡,所以,我们平时在使用的时候,可能感觉不到 Ribbon 的存在。 2、常用的 REST 客户端 1) Apache CXF 2) Restlet 3、单独使用 Feign 1)新建一个 HelloClient 接口 2)执行请求 4、Feign 原理解析 5、Spring Cloud集成 Feign Spring Cloud中集成 Feign 实际上是利用了 Feign 提供的 “翻译器” ,将 Spring Web 中的注解 翻译 给了 Feign 听 例如: Spring Web 中的常见注解 @GetMapping("/hello") ,Spring Cloud 翻译后,相当于 Feign 的 @RequestLine("GET /hello") Spring Cloud入门 (3) - REST客户端Feign 标签:通信 原理 out map 生成 框架 ace void local 原文地址:https://www.cnblogs.com/lkc9/p/11571357.htmlpublic interface HelloClient{
@RequestLine("GET /hello")
String sayHello();
}
public class HelloTest{
public static void mian(String[] args){
//这一步调用target实际上是用到了AOP的JDK动态代理,生成了一个
//代理对象,在调用方法时,由Feign.Client执行了发送请求,这里的请求是AOP中的 “Advice”
HelloClient hello=Feign.builder().target(HelloClient.class,
"http://localhost:8080/");
//调用Hello接口的方法
System.out.println(hello.sayHello());
}
}
由上面的例子,我们便可以看出,Feign实际是利用了AOP在为 **Client 接口生成了代理对象,然后利用 “Advice” 的织入,来发送了HTTP请求
上一篇:风格迁移算法
下一篇:数据结构C++实现-第一章 绪论
文章标题:Spring Cloud入门 (3) - REST客户端Feign
文章链接:http://soscw.com/essay/34666.html