OkHttps
强大轻量 且 前后端通用的 HTTP 客户端,同时支持 WebSocket 以及 Stomp 协议
轻量纯粹优雅
OkHttps 非常轻量,体积仅是 Retrofit 的一半不到,并且不依赖于特定平台,API 语义简洁舒适。
开箱即用的功能
异步预处理器、回调执行器、全局监听器、回调阻断机制、文件上传下载、过程控制、进度监听。
更多实用特性
URL 占位符、Lambda 回调、JSON自动封装解析、OkHttp 的特性:拦截器、连接池、CookieJar 等。
如艺术一般优雅,像 1、2、3 一样简单
// 构建实例
HTTP http = HTTP.builder()
.baseUrl("http://api.example.com")
.addMsgConvertor(new GsonMsgConvertor());
.build();
// 同步 HTTP
List<User> users = http.sync("/users")
.get() // GET请求
.getBody() // 响应报文体
.toList(User.class); // 自动反序列化 List
// 异步 HTTP
http.async("/users/1")
.setOnResponse((HttpResult res) -> {
// // 自动反序列化 Bean
User user = res.getBody().toBean(User.class);
})
.get(); // GET请求
// WebSocket
http.webSocket("/my-websocket")
.setOnMessage((WebSocket ws, Message msg) -> {
// 从服务器接收消息
Chat chat = msg.toBean(Chat.class);
// 向服务器发送消息
ws.send(chat);
})
.listen(); // 启动监听
// Stomp 协议
Stomp.over(http.webSocket("wss://...").heatbeat(20, 20))
.topic("/my-topic", (Message msg) -> {
// 收到主题消息
String payload = msg.getPayload();
})
.connect(); // 连接 Stomp 服务
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
有问必答微信交流群
特别鸣谢
赞助人 | 金额 | 他的分享 / 留言 | 赞助时间 |
---|