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

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

相关推荐
槿花Hibiscus4 小时前
C++基础:session实现和http server类最终组装
服务器·c++·http·muduo
Hey_Coder5 小时前
【HTTP:什么是跨源资源共享(CORS)?详解:控制“跨源访问”】
http·cors·预检请求·跨源资源共享·跨域资源共享·cors头信息
一目Leizi6 小时前
Burp Suite物联网渗透测试实战指南:从HTTP到MQTT/CoAP的全面攻防
物联网·http·iphone
a程序小傲9 小时前
百度Java面试被问:HTTPS解决了HTTP什么问题?
java·后端·http·百度·面试
就叫飞六吧9 小时前
HTTP Basic认证完全指南
网络·网络协议·http
会头痛的可达鸭1 天前
Reqwest 库详细使用指南
http·rust·reqwest
橘子真甜~1 天前
C/C++ Linux网络编程11 - 数据加密与https协议
linux·服务器·网络·http·https·密码学·加密解密
jinxinyuuuus1 天前
抖音在线去水印:HTTP/2流量分析、反爬虫的对称与非对称加密
爬虫·网络协议·http
Fr2ed0m1 天前
HTTP vs HTTPS vs SSL/TLS:https协议全面解析(附HTTPS部署指南)
http·https·ssl
从负无穷开始的三次元代码生活1 天前
《图解HTTP》——浓缩讲解,快速了解HTTP
网络·网络协议·http