Hutool - HttpUtil发送GET、POST请求

文章目录

  • 引入Hutool依赖
    • GET
      • 发起get请求
    • POST
      • 准备工作
        • 创建实体 - 大
        • 创建实体 - 小
      • 发起post请求
  • 结语

引入Hutool依赖

<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.16</version>
</dependency>

GET

发起get请求

@ApiOperation(value = "API描述")
@GetMapping("/xx/xxxxxx")
@ResponseBody
public Object getIssueTypeListClassBMenu(@PathVariable String service,@RequestParam(value = "cookie", defaultValue = "") String cookie) {String url = "http://xx.xx.xx/api/v1/" + service + "/baidu/getBaiduBMenu";HttpRequest get = HttpUtil.createGet(url);// 如果有cookie 或者token进行鉴权,可以在此添加get.header("cookie",cookie);String body = get.execute().body();return JSONArray.parseArray(body);
}

POST

准备工作

创建实体 - 大

package xx.xxx.xxx.server.models;import lombok.Data;/*** @author xxxx*/
@Data
public class ReportSubmitRequest {private String cookie;private PrivateSubmitVO formData;
}

创建实体 - 小

package xx.xxx.xxx.xxx.models.vo;import lombok.Data;/*** @author xxxx*/
@Data
public class PrivateSubmitVO {private String bugDescription;private String bugType;private String userName;private Long projectId;private String title;private String clusterName;}

发起post请求

@ApiOperation(value = "API描述")
@PostMapping("/xxx/xxxxx")
@ResponseBody
public Object reportSubmit(@PathVariable String service, @RequestBody ReportSubmitRequest request) {//创建json对象作为requestBodyPrivateSubmitVO paramMap = request.getFormData();JSONObject jsonObject = new JSONObject();jsonObject.put("bugDescription",paramMap.getBugDescription());jsonObject.put("bugType",paramMap.getBugType());jsonObject.put("userName",paramMap.getUserName());jsonObject.put("projectId",paramMap.getProjectId());jsonObject.put("title",paramMap.getTitle());jsonObject.put("clusterName",paramMap.getClusterName());// 添加请求头信息Map<String, String > heads = new HashMap<>();// 使用json发送请求,下面的是必须的heads.put("Content-Type", "application/json;charset=UTF-8");// 如果有cookie 或者token进行鉴权,可以在此添加heads.put("cookie",request.getCookie());/**** headerMap是添加的请求头,body是传入的参数,这里选择json,后端使用@RequestBody接收*/String urlStr = "http://xx.xxx.xxx.xxx/api/v1/" + service+ "/report/submit";return getObject(jsonObject, heads, urlStr);}

结语

Hotool不仅仅只有这个一种工具类,还包含了其他许多工具类,具体可以详细看我另外一篇文章
Hutool工具类 -集常用工具类为一体 - 工具类之大成,也可以访问官方文档。

在这里我作为一名Hutool的用户,我感谢Hutool的创作者和维护者们为我们带来如此强大便捷的工具库,希望Hutool功能越来越完善,为我们的开发工作带来更多的便利。同时也祝愿所有开发者没有BUG困扰,能够愉快地编写出高效、功能完善的程序。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/139.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

el-date-picker 日期时间进行限制,精确到时分秒

需求&#xff1a;用户只能选择当时时间或当前时间之前的时间&#xff0c;且精确到时分秒 实现效果&#xff1a;用户只能选择当前时间的时间&#xff0c;如果选择是当天之前的时间&#xff0c;时分秒不做限制&#xff0c;如果选择的是当天时间&#xff0c;就要判断时分秒&#…

【数据挖掘】时间序列教程【十】

5.4 通用卡尔曼滤波 上一节中描述的状态空间模型作为观测方程的更一般的公式 和状态方程 这里是一个p1 向量是一个k1 向量, 是一个pk 矩阵, 是kk 矩阵。我们可以想到的和 给定初始状态 和 &#xff0c;预测方程为&#xff08;类似于上面&#xff09; 并且更新方程是&#x…

华为Harmony应用开发初探

HarmonyOS是一款面向万物互联时代的、全新的分布式操作系统。在传统的单设备系统能力基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备,提供全场景(移动办公、运动健康、社交通信、媒体…

外包干了2个月,技术退步明显...

先说一下自己的情况&#xff0c;大专生&#xff0c;18年通过校招进入湖南某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…

Linux进程(二)---进程的优先级和环境变量

我想在这先完成上一章的一个未说完的话题.最后一个我们讲到了僵尸进程&#xff0c;是指子进程已经结束&#xff0c;但是父进程还在运行没有来得及回收.此时这个子进程便是僵尸进程. 但是如果父进程运行完了&#xff0c;也没有回收就直接结束了&#xff0c;那这个子进程改由谁维…

用html+javascript打造公文一键排版系统3:获取参数设置、公文标题排版

我们用自定义函数setDocFmt()来实现对公文的排版。 一、获取公文参数值 要对公文进行排版&#xff0c;首先要读取公文“参数设置”区中的参数值。比如公文要求对公文标题的一般规定是&#xff1a;一般用2号小标宋体字&#xff0c;居中显示。标题与正文中间空一行。 这些是“参…

合宙Air724UG LuatOS-Air core API--zkw530z

zkw530z zkw530z快速定位 zkw530z.settime(year,month,day,hour,min,sec) 创建530Z秒定时间参数 参数 参数 类型 释义 取值 year number 年份 month number 月份 day number 日期 hour number 小时 min number 分钟 sec number 秒钟 返回值 无 例子 zkw530z.settime…

RestHighLevelClient集成ES 7.X

Maven依赖 依赖版本号和elasticsearch版本号对应起来 <dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-client</artifactId><version>7.17.6</version></dependency><!-- elasti…

Python控制流程盘点及高级用法、神秘技巧大揭秘!

目录 一、条件语句&#xff08;If-Elif-Else&#xff09; 二、循环结构&#xff08;For和While&#xff09; 三、异常处理&#xff08;Try-Except&#xff09; 四、控制流程的高级用法&#xff01; 1. 列表解析 2. 生成器表达式 3. 装饰器 One More Thing&#xff01;&…

Microsoft 宣布今年底关闭开源软件托管平台 CodePlex

Microsoft 宣布&#xff0c;将关闭开源软件托管平台 CodePlex。Microsoft 2006 年推出这项服务&#xff0c;并决定在今年 12 月 15 日将其关闭。 Microsoft 公司副总裁 Brian Harry 在网上博客中写道&#xff0c;人们将可以下载他们的数据档案&#xff0c;Microsoft 正与面向开…

配电柜实时监测?这也太会省力了吧!

现代企业厂房的安全和效率对于业务的成功至关重要。在这个背景下&#xff0c;配电柜监控成为了一项关键的技术。通过实时监测和管理厂房内的配电柜&#xff0c;企业可以确保电力供应的稳定性&#xff0c;提高能源利用效率&#xff0c;并及时发现和解决潜在的故障和安全风险。 配…

【JS】动态添加的元素绑定点击事件在移动端不生效

问题&#xff1a;使用js动态添加的元素&#xff0c;给该元素绑定了点击事件&#xff0c;在PC端一切正常触发&#xff0c;但是在移动端却无法触发方法。 原因&#xff1a;在移动端,绑定点击事件需要注意使用 touch 事件,而不是鼠标的 click 事件。 常用的触摸事件有:- touchsta…

matlab学习指南(2):安装工具箱Toolbox的方法(详细图解)

&#x1f305;*&#x1f539;** φ(゜▽゜*)♪ **&#x1f539;*&#x1f305; 欢迎来到馒头侠的博客&#xff0c;该类目主要讲数学建模的知识&#xff0c;大家一起学习&#xff0c;联系最后的横幅&#xff01; 喜欢的朋友可以关注下&#xff0c;私信下次更新不迷路&#xff0…

Uniapp 版本更新

文章目录 前言Uniapp更新确定接口是否能够使用基本代码封装更新软件区别 前言 软件发布之后更新是经常出现的需求。我们希望软件能够自动连网更新软件&#xff0c;而不是重新去手动安装一个apk安装包。不需要更新的软件只有两个&#xff0c;一个是微信小程序&#xff0c;另一个…

openpnp - 汇川 Inovance IS620PS2R8I-IAB-C的参数读取

文章目录 openpnp - 汇川 Inovance IS620PS2R8I-IAB-C的参数读取概述笔记伺服和配套电机型号官方伺服调试软件笔记H00H01H02H03H04H05H06H07H08H09H0AH0BH0CH0DH0FH11H12H16H17H30H31自定义组备注END openpnp - 汇川 Inovance IS620PS2R8I-IAB-C的参数读取 概述 设备中用到了…

学习笔记——vscode界面设置界面缩放级别

使用vscode时&#xff0c;不知道按了什么快捷键&#xff0c;vscode窗口缩放了。 调整方法&#xff1a;设置 > 窗口(window) > Zoom Level

淘宝订单拉取更新历史状态~需求

&#x1f4da;目录 订单接口api需求问题解决 Map<String,TaobaoOrder> 订单接口api 可自行查询官网文档&#xff0c;点击进入 需求 通过接口中has_next 标识判断该时间断是否还有下一页数据,直到该值数据为false时,表面该时间范围内的订单数据获取完成. 拉取完成后需要对…

在Java开发中无法绕开的框架:SpringBoot

SpringBoot简介 SpringBoot是一个基于Spring框架的快速开发框架&#xff0c;它的出现极大地简化了Spring应用的开发流程。SpringBoot通过自动配置和约定大于配置的方式&#xff0c;让开发者可以快速搭建一个可运行的、独立的、生产级别的应用程序。 SpringBoot的优点不仅仅在…

typeScript(类篇)

介绍 传统的JavaScript程序使用函数和基于原型的继承来创建可重用的组件&#xff0c;但对于熟悉使用面向对象方式的程序员来讲就有些棘手&#xff0c;因为他们用的是基于类的继承并且对象是由类构建出来的。 从ECMAScript 2015&#xff0c;也就是ECMAScript 6开始&#xff0c;…

初阶C语言——指针

Hello&#xff0c;我们又见面了&#xff0c;时间过的好快啊&#xff0c;转眼间也已经写了这么多份博客了&#xff0c;在接下来的一年里&#xff0c;小编也会认真学习的敲代码&#xff0c;我们一起进步&#xff0c;那今天开始讲我们的指针&#xff0c;指针这一章节在C语言的学习…