Score
0
Watch 53 Star 269 Fork 62

ejlchina / okhttpsJavaApache-2.0

2020-06-14 18:12
1393412 ejlchina zhxu 1586596836 ejlchina

1、增强泛型反序列化,支持复合泛型
2、HttpCall 接口新增 getTask 方法,可获取当前任务
3、OkHttps 工具类 新增 newBuilder 方法,可用于复制 SPI 方式注入的配置信息
4、HttpTask 类 新增 isAsyncHttp 和 isSyncHttp 方法(v2.1.0 新增了 isWebsocket 方法)可用于判断 HttpTask 的任务类型
5、优化在 Android 端的异步请求性能

2020-05-31 13:08
1393412 ejlchina zhxu 1586596836 ejlchina
  • 对异步请求的响应提供了 6 种便捷回调方法,在不关心具体状态时(与全局响应监听组合使用),使用非常方便;
    • setOnResBody 在回调里直接取得Body对象,无需再使用res.getBody()
    • setOnResBean 在回调里直接取得 Java Bean 对象,无需再使用res.getBody().toBean(Class<?>)
    • setOnResList 在回调里直接取得 Java List 列表,无需再使用res.getBody().toList(Class<?>)
    • setOnResMapper 在回调里直接取得 Mapper 对象,无需再使用res.getBody().toMapper()
    • setOnResArray 在回调里直接取得 Array 对象,无需再使用res.getBody().toArray()
    • setOnResString 在回调里直接取得 String 对象,无需再使用res.getBody().toString()

参阅文档:http://okhttps.ejlchina.com/v2/foundation.html#便捷回调

  • 优化性能:使用HTTP#newBuilder()方法克隆HTTP实例时,新实例与旧实例之间资源共享最大化。
Last committed message: Merge branch &#39;github&#39; into dev
2020-05-25 08:12
1393412 ejlchina zhxu 1586596836 ejlchina

1、增强标签功能,可在拦截器内访问标签,
详见文档:http://okhttps.ejlchina.com/v2/foundation.html#%E4%BD%BF%E7%94%A8%E6%A0%87%E7%AD%BE

2、优化 全局监听的 执行环境:始终在 IO 线程执行,不再受 回调执行器 与nextOnIO方法的影响

3、优化 Websocket 回调,同其它回调一样,统一接受回调执行器与nextOnIO方法的管理

4、优化 Websocket 请求机制:同 HTTP 请求一样,接受全局监听的管理,打开 Websocket 时,执行 responseListener,异常时,执行 exceptionListener,关闭时(包括异常)执行,completeListener

5、优化 okhttps-jackson 对基本类型数据的取值逻辑,兼容性更好

6、修复 Android 7+(SDK 24 以上)中,当在主线程里消费报文体时(调用Body#toXxx()方法),会引发android.os.NetworkOnMainThreadException异常问题
参见 ISSUE: https://github.com/ejlchina/okhttps/issues/8

2020-05-15 17:10
1393412 ejlchina zhxu 1586596836 ejlchina

1、修复 HEAD 请求方法不可用问题
2、新增 head 便捷请求方法
3、HttpResult 新增 getContentLength() 方法,HttpResult.Body 新增 getType() 和 getLength() 方法
4、WebSocket.Close 新增 是否因 连接被取消 和 连接发生异常而关闭 的 判断
5、优化:WebSocket 无论连接被取消还是异常,都会走 onClose 回调
6、fix issue: #I1H8G9:方法 addFilePara 只能使用 form 方式请求!

Last committed message: V2.0.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
2020-04-27 11:52
1393412 ejlchina zhxu 1586596836 ejlchina

1、优化兼容性:HttpTask#doAddParams 兼容低版本Android(23及以下)系统
2、优化标签的使用性能

Last committed message: .
2020-04-15 11:17
1393412 ejlchina zhxu 1586596836 ejlchina

1、优化 setTag 方法:若调用多次,将添加多个标签
2、优化按标签取消机制:无论标签在那个时段做怎样的修改,都可以按标签取消对应任务
3、类 HttpTask 实现 Cancelable 接口,可使用 task 取消自己
4、性能优化

Last committed message: Merge branch &#39;dev&#39;
2020-04-12 09:50
1393412 ejlchina zhxu 1586596836 ejlchina

1、类 HttpUtils 新增 cancelAll() 方法
2、优化全局下载监听逻辑
3、优化标签修改逻辑:不可置空
4、修复某些情况下标签任务不会从队列移除
5、取消所有请求时清空标签队列
6、优化标签队列性能
7、新增标签队列过期清理机制
8、优化部分代码

Last committed message: V1.0.3 ^_^
2020-04-10 14:45
1393412 ejlchina zhxu 1586596836 ejlchina

1、HTTP 新增方法:cancelAll() 取消所有请求
2、HTTP 新增方法:sync()、async()
3、HTTP cancel(String tag) 方法支持取消同步请求
4、优化 HttpResult.getError() 方法的返回类型:Exception -> IOException
5、TaskExecutor 新增 shutdown 方发
6、优化代码性能

Last committed message: 优化 build url path
2020-04-08 12:17
1393412 ejlchina zhxu 1586596836 ejlchina

1、当执行状态 != State.RESPONSED 时,调用 getHeader 等方法时不再抛异常
2、HttpResult.toString 方法移除对 Body.toString 的调用,避免在Debug模式重复消费报文体问题
3、移除 HttpResult.getTask() 方法
4、优化 HttpCall.getResult() 的实现

Last committed message: V1.0.1
2020-03-31 16:49
1393412 ejlchina zhxu 1586596836 ejlchina

1、移植 HttpUtils(https://gitee.com/ejlchina-zhxu/httputils) 的 V2.3.0
的所有功能;
2、包名重构:com.ejlchina.http -> com.ejlchina.okhttps。

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

Search