Feign理解

Feign是Netfix开发的声明式、模块化的HTTP客户端,其灵感来自于Retrofit、JAXRS-2.0以及websocket。Feign可以帮我们更加便捷、优雅地调用HTTP API。这句话可能有点难理解。

我学这个框架,要明白它是干啥的,有什么用,Spring Cloud为什么引用这个模块?

Feign封装了Http调用调用流程,让调用更加面向接口化

解释过来就是在以前服务调用的场景中吗,调用基于http协议的服务。而我们经常使用到的框架可能有HttpURLConnection、Apache HttpComponnets、OkHttp3 、RestTemplate等等,这些框架在基于自身的专注点提供了自身特性。而从角色划分上来看,他们的职能是一致的提供Http调用服务。

而Feign的使用是创建一个接口,在接口上添加一些注解,代码就完成了。通过注解的方式令服务间的调用更加的容易简便

  • HttpURLConnection    HttpURLConnection是Java的标准类,继承UrlConnection,可用于向指定网站发送get,post请求。
  • Apache HttpComponnets  Apache HttpComponnets就是Httpclient,HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 Http 协议的客户端编程工具包,并且它支持 HTTP 协议最新版本和建议。
  • OkHttp3    一个处理网络请求的开源项目,是安卓端最火的轻量级框架,由 Square 公司贡献,用于替代 HttpUrlConnection 和 Apache HttpClient。OkHttp 拥有简洁的 API、高效的性能,并支持多种协议(HTTP/2 和 SPDY)
  • RestTemplate  RestTemplate 是 Spring 提供的用于访问 Rest 服务的客户端,RestTemplate 提供了多种便捷访问远程 HTTP 服务的方法,能够大大提高客户端的编写效率。

 

posted on 2021-05-30 17:27  山水爱恋  阅读(142)  评论(0编辑  收藏  举报