OkHttps 使用 HttpUtils 类
2020-04-29 09:35 更新
类HttpUtils
本是 前身 HttpUtils 的 1.x 版本里的最重要的核心类,由于在后来的版本里抽象出了HTTP
接口,使得它的重要性已不如往昔。但合理的使用它,仍然可以带来不少便利,特别是在没有IOC容器的环境里,比如在Android开发和一些工具项目的开发中。
类HttpUtils
共定义了四个静态方法:
of(HTTP http)
配置HttpUtils
持有的HTTP
实例(不调用此方法前默认使用一个没有没有经过任何配置的HTTP
懒实例)async(String url)
开始一个异步请求 (内部通过一个HTTP
单例实现)async()
开始一个异步HTTP任务,使用该方法必须在构建时设置 BaseUrlsync(String url)
开始一个同步请求 (内部通过一个HTTP
单例实现)sync()
开始一个同步HTTP任务,使用该方法必须在构建时设置 BaseUrlcancel(String tag)
按标签取消请求(内部通过一个HTTP
单例实现)cancelAll()
取消所有HTTP任务,包括同步和异步(内部通过一个HTTP
单例实现)request(Request request)
OkHttp 原生请求 (该请求不经过 预处理器)webSocket(Request request, WebSocketListener listener)
WebSocket通讯 也就是说,能使用http
实例的地方,都可以使用HttpUtils
类,例如:
// 在配置HTTP实例之前,只能使用全路径方式
List<Role> roles = HttpUtils.sync("http://api.demo.com/roles")
.get().getBody().toList(Role.class);
// 配置HTTP实例,全局生效
HttpUtils.of(HTTP.builder()
.baseUrl("http://api.demo.com")
.build());
// 内部使用新的HTTP实例
List<User> users = HttpUtils.sync("/users")
.get().getBody().toList(User.class);
如果觉得 OkHttps 好用,就去点个 Star 吧,项目地址:
官方网站:http://okhttps.ejlchina.com/
以上内容是否对您有帮助:
更多建议: