<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>3.3.1</version>
</dependency>
package com.sitech.crmbcc.utile;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import okhttp3.*;
import org.springframework.http.HttpStatus;
import org.springframework.util.StringUtils;
import java.io.IOException;
import java.net.URL;
import java.util.concurrent.TimeUnit;
import static com.alibaba.fastjson.JSONObject.*;
/**
* @oauth: qiangSW
* @date: 2020/4/6 20:04
* @description: com.sitech.crmbcc.utile
* @doc:
*/
@Slf4j
public class HttpClientUtil<T> {
/**
* @param requestParam
* @param requestUrl
* @param clasz
* @param <T>
* @return 响应码 != 200 返回 null
* @throws Exception
*/
public static <T> T okHttpPost(String requestParam, String requestUrl, Headers headers, Class<T> clasz) throws Exception {
if (StringUtils.isEmpty(requestUrl)) {
return null;
}
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), requestParam);
OkHttpClient okHttpClient = new OkHttpClient();
URL url = new URL(requestUrl);
Request.Builder post = new Request.Builder().url(url)
.post(requestBody);
if (null != headers) {
post.headers(headers);
}
Request request = post.build();
Response execute = okHttpClient.newCall(request).execute();
if (HttpStatus.OK.value() == execute.code()) {
ResponseBody body = execute.body();
String result = body.string();
return JSONObject.parseObject(result, clasz);
}
return null;
}
/**
*
* @param requestParam
* @param requestUrl
* @param headers
* @return Response
* @throws Exception
*/
public static Response okHttpPost(String requestParam, String requestUrl, Headers headers) throws Exception {
if (StringUtils.isEmpty(requestUrl)) {
log.error("{}请求url为空", requestParam);
return null;
}
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), requestParam);
OkHttpClient okHttpClient = new OkHttpClient().newBuilder()
.build();
URL url = new URL(requestUrl);
Request.Builder post = new Request.Builder().url(url)
.post(requestBody);
if (null != headers) {
post.headers(headers);
}
Request request = post.build();
return okHttpClient.newCall(request).execute();
}
}