超详细的日常开发必备神器 HttpUtil

网站建设4年前发布
42 0 0

最近在工作中需要在后台调用各种上传、下载、以及第三方服务接口,经过研究决定使用 HttpClient,自己封装了一个 HttpClient 工具类,简单轻松的实现get、post、put、delete 以及上传、下载请求,在此分享给大家。,本文基于 HttpClient4.5.5 版本进行开发,也是现在最新的版本,之所以要提供版本说明,是因为 HttpClient 3 版本和 HttpClient 4 版本 API 差别还是很多大的,你把 HttpClient 3 版本的代码拿到 HttpClient 4 上面运行不起来,会报错的。所以在使用之前,一定要注意 HtppClient 的版本问题。,话不多说,直接上代码!,本次采用单利模式来初始化客户端,并用线程池来管理,同时支持http和https​协议,项目启动之后,无需手动关闭​httpClient客户端!,除了上传、下载请求之外,默认封装的请求参数格式都是application/json,如果不够,可以根据自己的业务场景进行封装处理!,其中sendHttp​是一个支持GET、POST、PUT、DELETE​请求的通用方法,上面介绍的getUrl、postJosn等方法,最终都会调用到这个方法!,工具包封装完成之后,在代码中使用起来也非常简单,直接采用工具类方法就可以直接使用,例如下面以post方式请求某个接口!,在编写工具类的时候,需要注意的地方是,尽可能保证httpClient客户端全局唯一,也就是采用单利模式,如果我们每次请求都初始化一个客户端,结束之后又将其关闭,在高并发的接口请求场景下,性能效率急剧下降!,HttpClients​客户端的初始化参数配置非常丰富,本文默认初始化的线程池为300,在实际的业务开发中,大家还可以结合自己的业务场景进行调优,具体的配置可以参考官网文档,地址:Apache HttpComponents。

© 版权声明

相关文章