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

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

相关推荐
code_li2 小时前
HTTPS免费证书配置指南
网络协议·http·https
tie12345 小时前
HTTP相关
网络·网络协议·http
埃伊蟹黄面7 小时前
应用层HTTP协议
linux·网络·网络协议·http
Lentou10 小时前
程序调用AI大模型方式(SDK\HTTP\SPRINGAI\LANFCHAIN4J)
人工智能·网络协议·http
甘露寺11 小时前
HTTP长连接内容详解
网络·网络协议·http
acaad11 小时前
java访问https连接报错 unable to find valid certification path to requested target
网络协议·http·https
古城小栈11 小时前
2026 年 Rust 异步 HTTP 首选:reqres,轻量、高效、开箱即用
网络·http·rust
Full Stack Developme11 小时前
HTTP 转发 与 重定向
网络·网络协议·http
一颗青果11 小时前
Http的referer字段
网络·网络协议·http
傻啦嘿哟11 小时前
环境变量配置法:通过HTTP_PROXY让OpenClaw走代理的最佳实践
网络·网络协议·http