jar包
<!--Hutool Java工具包-->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.8</version>
</dependency>
(1)post,json请求,有头部传参的情况
// url:放请求地址
String url = ”“;
HttpRequest request = HttpUtil.createPost(url);
Map<String, String> headers = new HashMap<>();
// 头部传参,根据接口写传参名,和值
String authorization = "";
headers.put("Authorization", authorization);
request.addHeaders(headers);
// 封装参数,对象转json
KeywordDTO dto = new KeywordDTO();
.....
String body = JSONUtil.toJsonStr(dto);
// 发送请求
String infoStr = request.body(body).timeout(1000).execute().body();
// 获取返回参数某个字段
String errorCode = (String) JSONUtil.parseObj(infoStr).get("errcode");
// 获取的数据转成对象
KeywordVO keywordVO = JSONUtil.toBean(infoStr, KeywordVO.class);
(2)get请求,有头部传参的情况
String url = url+"?channel_id="+channelId+"&device_id="+deviceId;
HttpRequest request = HttpUtil.createGet(url);
Map<String, String> headers = new HashMap<>();
// 头部传参
String token = "";
headers.put("Access-Token", token);
request.addHeaders(headers);
HttpResponse httpResponse=request.timeout(10000).execute();
String infoStr = httpResponse.body();
if(!httpResponse.isOk()){
Assert.fail("获取数据失败:" + infoStr);
}
// 转成对象
StatisticsVO vo = JSONUtil.toBean(infoStr, StatisticsVO.class);
(3)post json请求,无头部传参的情况
// 地址访问
String url = "";
// 传参封装对象
KeyValueVO vo = new KeyValueVO();
HttpUtil.post(url, JSONUtil.toJsonStr(vo));
// 另一方接收到的接口框架:CommonResult自己定义的返回参数
@PostMapping(value = "getServerInfo")
public CommonResult getServerInfo(@RequestBody KeyValueVO vo) {
return CommonResult.success(null);
}
(4)get请求,无头部传参的情况
String result = HttpUtil.get( douyinUrl);
具体可以去查看HttpUtil包,自行使用