[[IT知识]] 探索OkHttps:轻量级网络请求神器

[复制链接]
查看: 48|回复: 0
发表于 2025-1-19 22:40:39 | 显示全部楼层 | 阅读模式
易博V9下载

探索OkHttps:轻量级网络请求神器

OkHttps 是 2020 年开源的对 OkHttp3 轻量封装的框架,它独创的异步预处理器,特色的标签,灵活的上传下载进度监听与过程控制功能,在轻松解决很多原本另人头疼问题的同时,设计上也力求纯粹与优雅。


链式调用,一点到底

BaseURL、URL占位符、HTTP、WebSocket

JSON、Xml 等自动封装与解析,且支持与任意格式的数据解析框架集成

同步拦截器、异步预处理器、回调执行器、全局监听、回调阻断

文件上传下载(过程控制、进度监听)

单方法回调,充分利用 Lambda 表达式

TCP连接池、Http2


OkHttps 非常轻量(最新版仅 90KB),除 Okhttp 无第三方依赖,并且更加的开箱即用,API 也更加自然和语义化。

OkHttps 是一个纯粹的 Java 网络开发包,并不依赖 Android,这一点和 Retrofit 不同

OkHttps 用起来很优美,可以像 RxJava 那样链式用,却比 RxJava 更简单。



探索OkHttps:轻量级网络请求神器


入门使用,首先Maven引入

  1. <dependency>;
  2. <groupId>;com.ejlchina</groupId>;
  3. <artifactId>;okhttps</artifactId>;
  4. <version>;3.4.2</version>;
  5. </dependency>;
复制代码


玩RESTful的人都会需要不同的HTTP请求方式,框架都是支持的,如下说明


多种请求方式,多种回调函数,WebSocket支持,自定义构建,请求取消,框架的使用具体请参考其官网说明,非常详细。

这里只是作一个简单GET请求,来演示其使用的简洁性。

  1. import com.ejlchina.okhttps.HTTP;
  2. public class HttpOkUtil {
  3. public static void main(String[] args) {
  4. HTTP http = HTTP.builder().build();
  5. System.out.println(http.sync( http://www.javacui.com/ )
  6. .get().getBody().toString());
  7. }
  8. }
复制代码


其sync是一个同步请求,返回一个SHttpTask对象,打开SHttpTask源码,可以看到其对各种请求的支持,这里用Get请求。


其返回的是HTTPResult对象,打开该对象的源码,它的State就是执行状态,Body就是响应体,这里拿到报文体后直接ToString即可。

上面代码将会返回本博客首页的HTML代码。


一般我们后端开发都是基于接口的,返回的都是基于JSON或者XML,那么我们就要选择其依赖的版本即可,比如与 fastjson 一起使用

  1. <dependency>;
  2. <groupId>;com.ejlchina</groupId>;
  3. <artifactId>;okhttps-fastjson</artifactId>;
  4. <version>;3.4.2</version>;
  5. </dependency>;
复制代码


起他参考官网,使用时也很简单

  1. List<User> users = http.sync( /users ); // http://api.example.com/users
  2. .get(); // GET请求
  3. .getBody(); // 获取响应报文体
  4. .toList(User.class); // 得到目标数据
复制代码


当然,OkHttps 自 v2.0 后开始支持自定义消息转换器,并且可以添加多个,同样,具体参考官网。


END

易博软件介绍
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1、请认真发帖,禁止回复纯表情,纯数字等无意义的内容!帖子内容不要太简单!
2、提倡文明上网,净化网络环境!抵制低俗不良违法有害信息。
3、如果你对主帖作者的帖子不屑一顾的话,请勿回帖。谢谢合作!
3、问答求助区发帖求助后,如有其他用户热心帮您解决问题后,请自觉点击设为最佳答案按钮。

 
 
QQ在线客服
QQ技术支持
工作时间:
8:00-18:00
软著登字:
1361266号
官方微信扫一扫
weixin

QQ|小黑屋|Archiver|慈众营销 ( 粤ICP备15049986号 )|网站地图

自动发帖软件 | 自动发帖器 | 营销推广软件 | 网络营销工具 | 网络营销软件 | 网站推广工具 | 网络推广软件 | 网络推广工具 | 网页推广软件 | 信息发布软件 | 网站推广工具 | 网页推广软件

Powered by Discuz! X3.4   © 2012-2020 Comsenz Inc.  慈众科技 - Collect from 深圳吉宝泰佛文化有限公司 公司地址:罗湖区黄贝街道深南东路集浩大厦A1403

返回顶部 返回列表