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;
}

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

相关推荐
二营长111 小时前
后端请求https协议接口地址报错
网络协议·http·https
bkspiderx15 小时前
HTTP协议:Web通信的“通用语言”解析
前端·网络协议·http
lunzi_082616 小时前
《图解HTTP》--第5章-与HTTP协作的Web服务器
服务器·前端·http
会编程的土豆17 小时前
网络基础核心笔记(HTTP、TCP、前后端通信)
网络·笔记·http
爱吃羊的老虎18 小时前
【JAVA】python转java:Spring Boot 如何处理 Web 请求
java·前端·spring boot·http
战南诚2 天前
HTTP 与 HTTPS 的区别:从原理到实战详解
网络协议·http·https
风停了,叶落了2 天前
2026年5月28日笔记
http
mCell2 天前
别急着骂运营商,你家路由器里可能藏着一台 PCDN 盒子
前端·http·cdn
Seven972 天前
别只会说 HTTPS 更安全:一文吃透加密、证书与 TLS 握手
tcp/ip·http
艾莉丝努力练剑2 天前
【Linux网络】传输层协议TCP(六)补充 - 面试题:HTTP 获取网页的完整过程
linux·运维·网络·tcp/ip·计算机网络·http·udp