文章目录
- 引入Hutool依赖
- GET
- 发起get请求
- POST
- 准备工作
- 创建实体 - 大
- 创建实体 - 小
- 发起post请求
- 结语
引入Hutool依赖
<dependency>
<groupId></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 = "/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对象作为requestBody
PrivateSubmitVO 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 = "/api/v1/" + service+ "/report/submit";
return getObject(jsonObject, heads, urlStr);
}
结语
Hotool不仅仅只有这个一种工具类,还包含了其他许多工具类,具体可以详细看我另外一篇文章 Hutool工具类 -集常用工具类为一体 - 工具类之大成,也可以访问官方文档。
在这里我作为一名Hutool的用户,我感谢Hutool的创作者和维护者们为我们带来如此强大便捷的工具库,希望Hutool功能越来越完善,为我们的开发工作带来更多的便利。同时也祝愿所有开发者没有BUG困扰,能够愉快地编写出高效、功能完善的程序。