首页 > 作文

RestTemplate实现多种底层HTTP客户端类库的切换用法

更新时间:2023-04-06 04:13:55 阅读: 评论:0

本文是精讲resttemplate第2篇,前篇的blog访问地址如下:

精讲resttemplate第1篇-在spring或非spring环境下如何使用

resttemplate只是对其他的http客户端的封装,其本身并没有实现http相关的基础功能。其底层实现是可以配置切换的,我们本小节就带着大家来看一下resttemplate底层实现,及如何实现底层基础http库的切换。

一、源码分析

resttemplate有一个非常重要的类叫做httpaccessor,可以理解为用于http接触访问的基础类。下图为源码:

从源码中我们可以分析出以下几点信息

resttemplate 支持至少三种http客户端库。

simpleclienthttprequestfactory。对应的http库是java jdk自带的httpurlconnection。

httpcomponentsasyncclienthttp海市蜃楼文言文requestfactory。对应的http库是apache httpcomponents。

okhttp3clienthttprequestfactory。对应的http库是okhttp

java jdk自带的httpurlconnection是默认的底层http实现客户端simpleclienthttprequestfactory,即java jdk自带的httpurlconnection不支持http协议的patch方法,如果希望使用patch方法,需要将底层http客户端实现切换为apache httpcomponents 或 okhttp

可以通过设置trequestfactory方法,来切换restte人生就像扣扣子mplate的底层http客户端实现类库。

二、底层实现切换方法

从开发人员的反馈,和网上的各种h察举制ttp客户端性能以及易用程度评测来看,okhttp 优于 apache httpcomponents、apache httpcomponents优于httpurlconnection。所以我个人更建议大家将底层http实现切换为okhttp。

以下所讲的切换方法,基于第一篇内容: 精讲resttemplate第1篇-在spring或非spring环境下如何使用

2.1.切换为okhttp

首先通过maven坐标将okhttp的包引入到项目中来

<dependency>qq伤感昵称大全    <groupid>com.squareup.okhttp3<妇女节的由来/groupid>    <artifactid>okhttp</artifactid>    <version>4.7.2</version></dependency>

如果是spring 环境下通过如下方式使用okhttp3clienthttprequestfactory初始化resttemplate bean对象。

@configurationpublic class contextconfig {    @bean("okhttp3")    public resttemplate okhttp3resttemplate(){        resttemplate resttemplate = new resttemplate(new okhttp3clienthttprequestfactory());        return resttemplate;    }}

如果是非spring环境,直接new resttemplate(new okhttp3clienthttprequestfactory()之后使用就可以了。

2.2.切换为apache httpcomponents

与切换为okhttp方法类似、不再赘述。

<dependency>    <groupid>org.apache.httpcomponents</groupid>    <artifactid>httpclient</artifactid>    <version>4.5.12</version></dependency>

使用httpcomponentsclienthttprequestfactory初始化resttemplate bean对象

@bean("httpclient")public resttemplate httpclientresttemplate(){    resttemplate resttemplate = new resttemplate(new httpcomponentsclienthttprequestfactory());    return resttemplate;}

以上就是resttemplate实现多种底层http客户端类库的切换精讲的详细内容,更多关于resttemplate底层http客户端类库切换的资料请关注www.887551.com其它相关文章!

本文发布于:2023-04-06 04:13:53,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/bc661b0c418d28c1ff99e2f551f00957.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:RestTemplate实现多种底层HTTP客户端类库的切换用法.doc

本文 PDF 下载地址:RestTemplate实现多种底层HTTP客户端类库的切换用法.pdf

标签:底层   客户端   方法   自带
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图