03微服务调用组件feign实战_第1页
03微服务调用组件feign实战_第2页
03微服务调用组件feign实战_第3页
03微服务调用组件feign实战_第4页
03微服务调用组件feign实战_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JAVA项目中如何实现接口调用?Http是ApacheJakartaCommon下的子项目,用来提供高效的、的、功能丰富的支持Http协议的客户端编程工具包,并且它支持HTTP协议版本和建议。Http相比传统JDK自带的URLConnection,提升了易用性和灵活性,使客户端发送HTTP请求变得容易,提高了开发的效率。2)一个处理网络请求的开源项目,是安卓端最火的轻量级框架,由SquareHttpUrlConnection和Apache 。OkHttp拥有简洁的API、高效的性能,并支持多种协(HTTP/2和SPDY)。3)HttpURLConnection是Java的标准类,它继承自URLConnection,可用于向指定发送GET请求POST请求。HttpURLConnection使用比较复杂,不像 RestTemte是Spring提供的用于Rest服务的客户端,RestTemte提供了多种便HTTP 更加便捷、优雅地调用HTTPAPIFeign支持多种注解,例如Feign自带的注解或者JAX-RS注解等。SpringCloudopenfeign对Feign进行了增强,使其支持SpringMVC注解,另外还整合了Ribbon和Eureka,从而使得Feign的使用更加方便Feign到使用HTP请求服务时就像调用本地方法一样的体验,开发者完全感知不到这是方法,更感知不到这是个TTP请求。它像Dubbo一样consumer直接调用接口方法调用provider,需要通过常规的Http 构造请求再解析返回数据。它解决了让开发者调用接口就跟调用本地方法一样,无需关注与的交互细节,更无需关注分布式环境开发。 1publicinterfaceOrderFeignService@RequestMappublicRfindOrderByUserId(@PathVariable("userId")Integer56OrderFeignServiceRresult=1.4)Feign//encoder指定对象编码方式,decoder指定对 .target(RemoteService.class,SpringCloudAlibaba快速整合 1@Feign 2publicinterfaceOrderFeignService3@RequestMappublicRfindOrderByUserId(@PathVariable("userId")Integer6 提示:FeignSpringCloudFeign 遇到Bug,比如接口调用失败、参数没收到等问题,或者想看看调用性能,就需要配置Feign的日志了,以此让Feign把请求信息输出来。////注意:此处配置@Configuration通过源码可以看到日志等级有42)局部配置,让调用的微服务生效,在3)在2)局部配置,让调用的微服务生效,在3)在yml配置文件中执行com.tuling.mall.feigndemo.feign:SpringCloudFeignFeignSpringMVCFeign是不支持SpringMVC注解的,如果你想在SpringCloud SpringMvcContract。1)**修改契约配置,支持Feign注意:修改契约配置后,OrderFeignService不再支持springmvc的注解,需要使用FeignOrderFeignService中配置使用Feign1@Feign publicinterfaceOrderFeignService@RequestLine("GETpublicRfindOrderByUserId(@Param("userId")Integer5contract:feigncontract:feign.Contract.Default#指定Feign常 去传递认证信息,比如Basc认证方式。Feign 可以直接配置Basic认每次每次feign发起http调用之前,会去执 统一添加header requestInterceptorsrequestInterceptors[0]:#配 mall-order端可以通过@RequestHeader通过Options可以配置连接超时时间和超时时间,Options的第一个参数是连接的超时时间(ms),默认值是2s;第二个是请求处理的超时时间(ms),默认值是5s。补充说明:Feign的底层用的是Ribbon,但超时时间以Feign配置为准Feign中默认使用JDK原生的URLConnection发送HTTP请求, 配置Apache然后修改yml然后修改yml配置,将Feign的Apache关于配置可参考源码:1<groupId>io.然后修改yml配置,将Feign然后修改yml配置,将Feign的禁用,启用OkHttp关于配置可参考源码: GZIP开启压缩可以有效节约网络资源,提升接口性能 可以配置GZIP来压缩数据注意:只有当Feign的 不是okhttp3的时候,压缩才会生效,配置源码代码就是@ConditionalOnMissingBean(type="okhttp3.OkHttp "),表示SpringBeanFactory中不包含指定的bean时条件匹配,也就是没有启用okhttp3时才会进行压缩配置。Feign中提供了自定义的编码器设置,同时也提供了多种编的实现,比如Gson、Jaxb、Jackson。可以用不同的编码器来处理数据的传

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论