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

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

相关推荐
钛态7 小时前
Flutter 三方库 http_mock_adapter — 赋能鸿蒙应用开发的高效率网络接口 Mock 与自动化测试注入引擎(适配鸿蒙 HarmonyOS Next ohos)
android·网络协议·flutter·http·华为·中间件·harmonyos
2301_8059629314 小时前
ESP32远程OTA升级:从局域网到公网部署
网络·后端·http·esp32
爱吃生蚝的于勒17 小时前
【Linux】网络之http协议
linux·运维·服务器·网络·数据结构·c++·http
23.18 小时前
【分析】HTTP请求端口错误诊断:404、502与连接拒绝的区别
网络·网络协议·http
Bear on Toilet18 小时前
HTTP + JSON 接口调用清单总结
网络协议·http·json
好多渔鱼好多18 小时前
【IPC】HLS(HTTP Live Streaming)技术介绍
网络·网络协议·http·hls
PyHaVolask19 小时前
Web 技术核心术语
前端·http·web
2301_8059629319 小时前
ESP32 HTTP OTA 本地测试教程
网络·网络协议·http
Blurpath住宅代理19 小时前
HTTP与SOCKS5代理深度对比:从协议层到实战选型指南
爬虫·http·静态ip·动态代理·住宅ip·住宅代理
Rabbit_QL19 小时前
【HTTP协议解读】01小白篇:理解互联网的通信语言HTTP
网络·网络协议·http