调用HTTP接口,参数、返回值均为JSon格式,仅供参考;
依赖Jar包:okio-1.17.5/okhttp-3.11.0/logging-interceptor-3.12.6(具体Jar包版本,请根据项目情况选择);
package com.kingdee.eas.si.test;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.MediaType;
import okhttp3.RequestBody;
import okhttp3.OkHttpClient;
import okhttp3.ResponseBody;
import com.kingdee.eas.si.util.*;
public class ForTest {
public static void main(String[] args) throws Exception {
String url = "http://192.168.1.199:8080/Demo/getData";
String params = Resource.get("TEST"); //JSon参数
System.out.println("接口地址:" + url);
System.out.println("接口参数:" + params);
long start = System.currentTimeMillis();
String result = post(url, params);
long end = System.currentTimeMillis();
System.out.println("调用耗时(秒):" + (end - start) / 1000);
System.out.println("返回报文:" + result);
}
/**
* 发送POST请求,调用HTTP接口
* @param params 接口参数
* @return JSon
*
*/
public static String post(String url, String params) throws Exception {
String result = "";
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, params);
Request.Builder builder = new Request.Builder();
builder.url(url);
builder.method("POST", body);
builder.addHeader("Content-Type", "application/json");
Request request = builder.build();
Response response = client.newCall(request).execute();
ResponseBody responseBody = response.body();
if (response.isSuccessful() && responseBody != null) {
result = responseBody.string();
} else {
if(responseBody != null) result = responseBody.string();
}
return result;
}
}