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

有问必答微信交流群



特别鸣谢


赞助人金额他的分享 / 留言赞助时间



Apache Licensed | Copyright © 2020-present zhouxu