Score
0
Watch 53 Star 269 Fork 62

ejlchina / okhttpsJavaApache-2.0

2020-05-12 18:08
1393412 ejlchina zhxu 1586596836 ejlchina

新特性:

1、HTTP 请求新增patch()方法,可发起 PATCH 请求,目前直接支持的HTTP方法有:GET、POST、PUT、PATCH、DELETE;

2、HTTP 请求暴露request(String method)方法,可自定义任何请求方法,比如:HEAD、OPTIONS、TRACE、CONNECT 等;

3、HTTP 请求新增skipPreproc()skipSerialPreproc(),具体请求可跳过 所有 或只跳过 串行 预处理器;

4、新增MsgConvertor接口,实现 OkHttps 与 fastjson 解耦,且不再依赖某个具体 json 框架、甚至不依赖 json,它可以与 任何格式 的数据解析框架 集成,比如:json 解析框架、xml 解析框架、protobuf 解析框架等

5、HTTP 接口新增webSocket(String url)方法,支持连接预处理、消息数据自动序列化和反序列化机制、支持 Lamda 编程

6、HTTP.Buider 新增自定义默认编码(不自定义默认为 utf-8)功能,单个请求支持指定特殊编码

7、新增OkHttps工具类,支持 SPI 方式注入配置,OkHttpsHttpUtils默认自动以 SPI 方式寻找依赖中的 MsgConvertor

8、构建 HTTP 实例时支持注入 多个 MsgConvertor,可实现同一个 HTTP 实例下,既有 json 解析,又有 xml 解析等强大特性。

9、表单(form)请求 同 json、xml 等请求一样:支持序列化参数功能。你可以直接只用setBodyPara方法,传入一个 Java Bean,框架会自动把参数序列化为form参数的指定格式。

API变化:

1、HttpResult#Body#.toJsonObject()修改为HttpResult#Body#.toMapper(),该方法返回一个Mapper实例(和 JsonObject 结构一样)。方法名之所以不再包含 Json 关键字,因为它底层的数据可能不是 json, 而是一个 xml 或者其它,但是它们都是一个具有 映射结构 的数据对象;

2、HttpResult#Body#.toJsonArray()修改为HttpResult#Body#.toArray(),该方法返回一个Array实例,命名原因同上;

3、HTTP 的 Builder 类迁移:com.ejlchina.okhttps.HttpClient.Builder -> com.ejlchina.okhttps.HTTP.Builder

4、OkHttpClient 的配置接口迁移:com.ejlchina.okhttps.Configuration - > com.ejlchina.okhttps.HTTP.OkConfig

5、移除 HTTP 接口与 HttpUtils 的sync()async()无参方法,使用sync(String url)async(String url)有参方法(参数可传 null)

6、不再推荐使用 HttpUtils.of(HTTP http) 方法,HttpUtils主要用于第三方jar开发时使用,可配置会造成 jar 之间的配置干扰。主应用开发推荐使用OkHttps类。

7、不再推荐使用 HttpTask 的addXxxParamsetXxxParam系列方法,推荐使用简洁版的addXxxParasetXxxPara系列方法

8、不再推荐使用 HttpTask 的addJsonParamsetRequestJson方法,推荐使用addBodyParasetBodyPara方法。因为 json、xml 等请求参数,和 表单请求参数一样,都是 报文体(Body)的参数,另新增bodyType方法,用于指定是 form 还是 json 或是 xml 等类型。

Last committed message: V2.0.0.RC
Java
1
https://gitee.com/ejlchina-zhxu/okhttps.git
git@gitee.com:ejlchina-zhxu/okhttps.git
ejlchina-zhxu
okhttps
okhttps

Search