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 接口调用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java如何获取指定文件夹下的所有文件名

    java如何获取指定文件夹下的所有文件名

    这篇文章主要介绍了java如何获取指定文件夹下的所有文件名问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Spring 数据库连接池(JDBC)详解

    Spring 数据库连接池(JDBC)详解

    本篇文章主要介绍了基于Spring的JDBC基本框架搭建;基于Spring的JDBC增删改查;读取配置文件中的数据等,具有很好的参考价值。下面跟着小编一起来看下吧
    2017-05-05
  • 如何解决LocalDateTime传值JSON格式化问题

    如何解决LocalDateTime传值JSON格式化问题

    这篇文章主要介绍了如何解决LocalDateTime传值JSON格式化问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • springboot+vue实现验证码功能

    springboot+vue实现验证码功能

    这篇文章主要为大家详细介绍了springboot+vue实现验证码功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • Java泛型枚举Annotation接口详细解读与Eclipse发展

    Java泛型枚举Annotation接口详细解读与Eclipse发展

    这篇文章主要给大家介绍了关于Java中方法使用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-08-08
  • Spring Boot整合持久层之JPA多数据源

    Spring Boot整合持久层之JPA多数据源

    JPA(Java Persistence API)Java 持久化 API,是 Java 持久化的标准规范,Hibernate 是持久化规范的技术实现,而 Spring Data JPA 是在 Hibernate 基础上封装的一款框架
    2022-08-08
  • Android 单例模式 Singleton 简单实例设计模式解析

    Android 单例模式 Singleton 简单实例设计模式解析

    这篇文章主要介绍了单例模式 Singleton 简单实例设计模式解析的相关资料,需要的朋友可以参考下
    2016-12-12
  • SpringBoot actuator 健康检查不通过的解决方案

    SpringBoot actuator 健康检查不通过的解决方案

    这篇文章主要介绍了SpringBoot actuator 健康检查不通过的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • java中http请求之restTemplate配置超时时间问题解决

    java中http请求之restTemplate配置超时时间问题解决

    这篇文章主要介绍了java中http请求之restTemplate配置超时时间,本文给大家分享三种解决方法,结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05
  • 精辟全面且细致的java运算符教程详解

    精辟全面且细致的java运算符教程详解

    这篇文章主要介绍了java运算符教程,内容非常的精辟全面且细致到每一个小注意点,正在学java的同学快快建议收藏阅读吧,希望能够有所帮助,祝多多进步早日升职加薪
    2021-10-10

最新评论