http库 之 OKHttpUtil

源码位置

方便实用,个人感觉不错

依赖

xml 复制代码
<dependency>
    <groupId>io.github.admin4j</groupId>
    <artifactId>common-http-starter</artifactId>
    <version>0.7.5</version>
</dependency>

代码实践

java 复制代码
/**
 * 通用http的post接口,返回body的JsonNode对象
 * @param URI 资源地址
 * @param object post请求参数,requestBody
 */
private JsonNode CommonHttpRequest(String URI, Object object){
    JsonNode data = null;
    try {
    	//BaseURL为配置文件中配置的内容
        Response post = HttpUtil.post(BaseURL + URI, object);
        if (post == null || post.body() == null){
            log.error("no response, post or body is null");
            throw new Exception("no response");
        }
        //测试环境为springboot 2.x,所以使用的jackson
        ObjectMapper objectMapper = new ObjectMapper();
        JsonNode jsonNode = objectMapper.readTree(Objects.requireNonNull(post.body(), "No Response From server").string());
        log.info("response: {}", jsonNode);
        int code = jsonNode.get("code").asInt();
        if (code != 200){
            log.error("Request failed, code: [{}]", code);
            throw new Exception("server code error");
        }
        data = jsonNode.get("data");
    }catch (Exception e){
        log.error("Http process failed.", e);
        throw new BusinessException(CodeEnum.SYSTEM_EXCEPTION);
    }
    return data;
}

以上只是我写的一个测试函数,具体使用还是要看一下源码.

相关推荐
库玛西6 小时前
Linux网络编程:HTTP/HTTPS协议核心技术全解析
linux·运维·服务器·网络·c++·http·https
for_ever_love__6 小时前
HTTP协议及网络请求与响应
网络·网络协议·http
CDN36010 小时前
APP和小程序在地铁里总断连?360CDN上HTTP/3(QUIC),把弱网失败率死死压在0.7%
网络·网络协议·http
Shadow(⊙o⊙)12 小时前
CMake实战Http+编译、链接选项的使用
网络·网络协议·http
十正12 小时前
用 HTTP 条件请求把“强一致“和“低成本
网络·后端·http
demon755200312 小时前
IDEA-http-client-指南
http·intellij-idea
泡海椒1 天前
告别手写 HTTP 模板!JQuick-Curl:直接把 curl 命令跑在 Java 中
java·网络协议·http
Patrick_Wilson1 天前
RPC 与 REST 的本质区别看这一篇就够了:别再只看 URL 里有没有动词
http·rpc·restful
秋田君1 天前
QT_HTTP协议编程
qt·http·iphone
楷哥爱开发2 天前
HTTP代理是什么?性能分析、适用场景与配置教程
网络·网络协议·http