SpringBoot 项目使用hutool 工具进行 http 接口调用的处理方法

 更新时间:2022年06月03日 23:20:45   作者:Smile_X  
在实际的开发过程中一个互联网的项目来说 ,有可能会涉及到调用外部接口的实际业务场景,下面通过本文给大家介绍SpringBoot 项目 使用hutool 工具进行 http 接口调用的处理方法,需要的朋友可以参考下

写作目的

在实际的开发过程中一个互联网的项目来说 ,有可能会涉及到调用外部接口的实际业务场景,原生的比如使用httpclient 也能够达到自己想要的结果处理 ,但是其实在实际开发的时候如果没有使用过类似的技术处理的话或多祸首可能会遇见问题所以这里我简单记录一下今天使用到的工具类: hutool 进行接口http 请求调用处理。

hutool简单介绍

关于hutool工具包其实本人使用的不多哈 ,这里面其实封装处理了大量的开发日常小工具方法:

  • 时间格式化,时间转换,时间校验

  • http 接口调用

  • 字符串格式化处理

  • 国标加密....

对于一个稍微大型的项目来说是一个很好用的封装工具包('宝藏男孩'),更多的好东西需要大家去探索

实践

这里说明一下hutool封装了httpclient 也是能使用的但是它高度封装了,所以我使用的是

HttpRequest

灵活性更高!!!

引用依赖

<!-- hutool 工具包 -->
<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.7.7</version>
</dependency>
<!--       测试类-->
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
</dependency>

post

简单接口调用

@Test
public void huToolPost() {
    System.out.println("--------------------------------post请求-----------------------------------");
    HashMap<String, String> paramMaps = new HashMap<>(4);
    paramMaps.put("pid", "463669875660294144");
    paramMaps.put("mobile", "123456.");
    paramMaps.put("name", "123456.");
    paramMaps.put("message", "");
    HttpResponse response = HttpRequest.post("http://192.168.99.202:8202/thySystem/pg-biz-sae/app/opinion/add")
            .header("Content-Type", "application/json")
            .header("token", "710515329923024896")
            .header("kong-request-id", "710515329923024896")
            .body(JSON.toJSONString(paramMaps))
            .execute();

    int status = response.getStatus();
    System.out.println("请求响应状态码:" + status);
    String body = response.body();
    System.out.println(body);
    JSONObject jsonObject = JSONObject.parseObject(body);
    Object msg = jsonObject.get("msg");
    System.out.println(msg);
    Object code = jsonObject.get("code");
    System.out.println(code);

}

文件上传

/**
 * 文件上传测试
 */
@Test
public void huToolUploadFile(){
    File f1 = new File("C:\Users\12043\Desktop\cat.jpeg");
    File f2 = new File("C:\Users\12043\Desktop\cat.jpeg");
    File[] files = new File[2];
    files[0] = f1;
    files[1] = f2;
    HttpResponse response = HttpRequest.post("url")
            .form("param", "test")
            .form("key", files)
            .execute();
}

get 请求

@Test
public void huToolGet(){
    System.out.println("--------------------------------get请求-----------------------------------");
    HashMap<String, Object> getParamMaps = new HashMap<>(5);
    getParamMaps.put("sortStr", "recordFlag,baseInfo.createTime");
    getParamMaps.put("sortDirection", "ASC");
    getParamMaps.put("filterStr", "flowAbleInfo.nodeId==craCheck");
    getParamMaps.put("pageSize", 10);
    getParamMaps.put("pageNo", 0);
    HttpResponse getResponse = HttpRequest.get("http://192.168.99.202:8202/thySystem/pg-biz-sae/sae/list")
            .header("Content-Type", "application/json")
            .header("token", "710515329923024896")
            .header("kong-request-id", "710515329923024896").form(getParamMaps).execute();

    int status1 = getResponse.getStatus();
    System.out.println("请求响应状态码:" + status1);
    String body1 = getResponse.body();
    System.out.println(body1);
    JSONObject jsonObject1 = JSONObject.parseObject(body1);
    Object msg1 = jsonObject1.get("msg");
    System.out.println(msg1);
    Object code1 = jsonObject1.get("code");
    System.out.println(code1);
}

end

今天拖到很晚才写完这个,帮一个同事对接一个系统的短信集成推送平台刚好涉及国密3加密然后就使用hutool的http请求处理数据内容了。

到此这篇关于SpringBoot 项目 使用hutool 工具进行 http 接口调用的文章就介绍到这了,更多相关SpringBoot http 接口调用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Mybatis示例之SelectKey的应用

    Mybatis示例之SelectKey的应用

    今天小编就为大家分享一篇关于Mybatis示例之SelectKey的应用,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • Java Integer.ValueOf()的一些了解

    Java Integer.ValueOf()的一些了解

    这篇文章主要介绍了Java Integer.ValueOf()的一些了解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • Java中的transient关键字介绍

    Java中的transient关键字介绍

    这篇文章主要介绍了Java中的transient关键字介绍,需要的朋友可以参考下
    2015-03-03
  • JavaAgent实现http接口发布方式浅析

    JavaAgent实现http接口发布方式浅析

    这篇文章主要介绍了JavaAgent实现http接口发布方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2023-03-03
  • 在Spring Boot2中使用CompletableFuture的方法教程

    在Spring Boot2中使用CompletableFuture的方法教程

    这篇文章主要给大家介绍了关于在Spring Boot2中使用CompletableFuture的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧
    2019-01-01
  • Java多线程之并发编程的核心AQS详解

    Java多线程之并发编程的核心AQS详解

    AQS ( AbstractQueuedSynchronizer)是一个用来构建锁和同步器的框架,使用AQS能简单且高效地构造出应用广泛的大量的同步器,下面小编和大家来一起学习一下吧
    2021-09-09
  • Java多线程正确使用倒计时协调器CountDownLatch方法详解

    Java多线程正确使用倒计时协调器CountDownLatch方法详解

    这篇文章主要为大家介绍了Java多线程倒计时协调器CountDownLatch的正确使用方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • Quarkus中ConfigSourceInterceptor的加密配置实现

    Quarkus中ConfigSourceInterceptor的加密配置实现

    这篇文章主要为大家介绍Quarkus中ConfigSourceInterceptor加密配置的实现方式,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-02-02
  • 解决FontConfiguration.getVersion报空指针异常的问题

    解决FontConfiguration.getVersion报空指针异常的问题

    这篇文章主要介绍了解决FontConfiguration.getVersion报空指针异常的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Swagger异常定位纪实Swagger设计问题分析

    Swagger异常定位纪实Swagger设计问题分析

    这篇文章主要为大家介绍了Swagger异常定位纪实Swagger设计的问题分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-02-02

最新评论