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

目录
  • 写作目的
  • hutool简单介绍
  • 实践
  • 引用依赖
  • post
  • get 请求
  • end

写作目的

在实际的开发过程中一个互联网的项目来说 ,有可能会涉及到调用外部接口的实际业务场景,原生的比如使用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 接口调用内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • SpringBoot+Hutool+thymeleaf完成导出Excel的实现方法

    目录 1.引入依赖 2.创建实体类 3.创建导出接口 4.创建html 5.测试导出 导出Excel的框架有很多种,POI相对来说比较老了,很多Excel框架底层都是POI.有EasyPoi.EasyExcel.包括Hutool当中封装的也是POI.唯一不同的是Hutool工具包不局限与做Excel.他里面封装了大量的util,一般现在开发都会用到糊涂. 本篇示例当中不仅仅有后端,而且还提供了前端html,html当中利用js将后端 输出流直接下载为文件. 实现的效果如下:一点击导出文件直接下载

  • springboot+hutool批量生成二维码压缩导出功能

    目录 1.引入依赖 2.测试编码 3.批量生成 4.解析excel 5.批量图片压缩 6.上传excel直接将输出流转成压缩包 1.引入依赖 <!-- 生成二维码依赖--> <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.4.1</version> </dependency&

  • Springboot单体架构http请求转换https请求来支持微信小程序调用接口

    http请求转换https请求 1.话不多说,直接上代码! application.properties配置文件 #(密钥文件路径,也可以配置绝对路径) server.ssl.key-store= classpath:证书文件名.pfx #(密钥生成时输入的密钥库口令) server.ssl.key-store-password:123456 #(密钥类型,与密钥生成命令一致) server.ssl.key-store-type:PKCS12 证书一般最好放在resources目录下 接下来配置

  • SpringBoot 接口开发教程(httpclient客户端)

    目录 SpringBoot接口开发 服务端 客户端post请求 get请求 SpringBoot之httpclient使用 引入相关依赖 编写相关工具类 业务代码中使用 SpringBoot接口开发 服务端 @RestController @RequestMapping("/landary") public class landaryController { @RequestMapping("adduser") public JSONObject addUser(@

  • springboot layui hutool Excel导入的实现

    目录 一.导入依赖 (一)其他环境准备 (二)hutool和Excel导入 二.核心代码 三.测试 一.导入依赖 (一)其他环境准备 首先前期根据需求需要搭建springboot+前端的框架,这个根据个人项目来,我是用的springboot+layui.这些不是这里讨论的重点. (二)hutool和Excel导入 <!-- 基本依赖包 --> <dependency> <groupId>cn.hutool</groupId> <artifactId&g

  • springboot vue接口测试HutoolUtil TreeUtil处理树形结构

    目录 基于springboot+vue的测试平台开发 一.引用 HutoolUtil 二.建表 三.后端接口实现 1. Controller 层 2. DAO层 3. Service 层 四.测试一下 1. 测试结构数据 2. 测试新增默认 基于springboot+vue的测试平台开发 继续更新 上次完成了接口定义功能的前端页面,那么后端现在开始逐一实现对应的功能,首先就是提供模块列表接口,这个模块是支持子层级的,所以大概结构是这样: [ { id: 1, label: '默认', child

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

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

  • idea springBoot项目自动注入mapper为空报错的解决方法

    在SpringBoot项目中,如果使用了MyBatis作为持久层框架,使用自动注入时可能会遇到mapper报空指针异常的问题.这是因为在自动注入时,SpringBoot无法正确识别MyBatis的Mapper接口,需要进行一些额外的配置.解决这个问题的方法有两种: 1.在Mapper接口上添加注解在Mapper接口上添加@Mapper注解,告诉SpringBoot这个接口是一个Mapper接口,需要进行代理.示例如下: @Mapper public interface UserMapper {

  • SpringBoot项目中分页插件PageHelper无效的问题及解决方法

    在Springboot项目中使用分页插件的时候 发现PageHelper插件失效了 我导入的是: 后来才发 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.10</version> </dependency> 现 PageHelper若要在Springbo

  • Vue2 配置 Axios api 接口调用文件的方法

    前情回顾 在上一篇中,我们通过配置基本的信息,已经让我们的项目能够正常的跑起来了.但是,这里还没有涉及到 AJAX 请求接口的内容. vue 本身是不支持 ajax 接口请求的,所以我们需要安装一个接口请求的 npm 包,来使我们的项目拥有这个功能. 这其实是一个重要的 unix 思想,就是一个工具只做好一件事情,你需要额外的功能的时候,则需要安装对应的软件来执行.如果你以前是一个 jquery 重度用户,那么可能理解这个思想一定要深入的理解. 支持 ajax 的工具有很多.一开始,我使用的是

  • SpringBoot项目中控制台日志的保存配置操作

    SpringBoot 控制台日志的保存配置 情景:SpringBoot项目中需要把控制台日志保存下来. 实现方法: 1.在配置文件application-prod.yml 配置如下: logging: config: classpath:logback-spring-prod.xml 2.logback-spring-prod.xml 这个文件是记录控制台打印日志保存的路径配置如下: <?xml version="1.0" encoding="UTF-8"?&

  • SpringBoot项目如何把接口参数中的空白值替换为null值(推荐)

    问题发生 我们公司代码生成的时候,查询列表统一都是使用了setEntity() ,查询写法如下: public List<BasReservoirArea> selectList(BasReservoirArea basReservoirArea) { QueryWrapper<BasReservoirArea> where = new QueryWrapper<>(); where.setEntity(basReservoirArea); return baseMap

  • 如何自定义redis工具jar包供其他SpringBoot项目直接使用

    注:(最终redis数据库连接信息由使用者项目模块配置提供) 一.Redis常用存储操作实现(redis-util模块,该module最后会打包成jar供其他服务使用) 1.引用相关依赖 <!-- 如果有继承父级spring-boot-starter-parent,可不用添加版本号 --> <!-- Redis缓存 [start] --> <dependency> <groupId>org.springframework.boot</groupId&g

  • SpringBoot项目中接口防刷的完整代码

    一.自定义注解 import java.lang.annotation.Retention; import java.lang.annotation.Target; import static java.lang.annotation.ElementType.METHOD; import static java.lang.annotation.RetentionPolicy.RUNTIME; /** * @author Yang * @version 1.0 * @date 2021/2/22

  • Springboot项目如何获取所有的接口

    目录 Springboot项目获取所有接口 获取项目下所有http接口的信息 一.接口信息类 二.单元测试 Springboot项目获取所有接口 @Autowired private WebApplicationContext applicationContext; @Override public List getAllUrl() { RequestMappingHandlerMapping mapping = applicationContext.getBean(RequestMapping

  • SpringBoot项目实现短信发送接口开发的实践

    一. 短信接口实现 描述:请求第三方短信接口平台(而第三方短信平台的接口请求是webservice方式实现的),此时我们要测试接口是否通,要用的工具SoapUI测试工具, 不能用PostMan,即使用post组装完参数请求该短信平台接口也不会通的(请求之前要ping通IP,只有在同一网段才可请求.或者使用VPN远程连接也可请求),接口通了之后.开始裸代码.代码使用IDEA工具去完成 , 实现逻辑根据需求而定. 首先导入两个依赖 <!--生成短信代码webservice START--> <

随机推荐