前言
项目中经常需要用到远程调用第三方服务的需求来获得资源数据,下面总结几种常见的发送http请求的工具,后续遇到将会继续补充。
RestTemplate
// URL
String url="xxxxxxx";
// 构建参数
JSONObject postData = (JSONObject) JSONObject.toJSON(dto);
// 构建请求头
HttpHeaders requestHeaders = new HttpHeaders();
requestHeaders.add("zbpToken","Test Token");
// 请求体 塞入 参数、请求头
HttpEntity requestEntity =new HttpEntity(postData,requestHeaders);
// 远程调用
R body = restTemplate.postForEntity(url, requestEntity, R.class, dto).getBody();
hutool
引入pom
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
</dependency>
发送get、post请求
//链式构建请求
String body = HttpRequest.get(BizConstant.ENCRYPT_FILED_URL)
//头信息k,v,多个头信息多次调用此方法即可
.header(BizConstant.HEADER_KEY_ONE, BizConstant.HEADER_VALUE_TWO)
//表单内容,参数k,v
.form(BizConstant.PARAM_KEY_ONE, dataSet)
//超时,毫秒
.timeout(20000)
.execute().body();
JSONObject res = JSONUtil.parseObj(body);