远程调用

97 阅读1分钟

前言

项目中经常需要用到远程调用第三方服务的需求来获得资源数据,下面总结几种常见的发送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);