import com.squareup.okhttp.*;
import java.util.Map;
public class JsonPost {
/**
* 工具类不允许有public或者default构造方法
*/
private JsonPost(){}
public static final MediaType JSON= MediaType.parse("application/json;charset=utf-8");
static OkHttpClient client= new OkHttpClient();
/**
* 发送post请求
* @param url 请求地址
* @param json json格式字符串
* @return
*/
public static String jsonPost(String url,String json) throws Exception{
Request request=null;
if (json != null) {
RequestBody body= RequestBody.create(JSON,json);
request=new Request.Builder.url(url).post(body).build();
}else {
request=new Request.Builder().url(url).build();
}
Response response=client.newCall(request).execute();
return response.body().string();
}
/**
*
* @param url 请求地址
* @param headMap 请求头
* @param json 请求体(json格式)
* @return
* @throws Exception
*/
public static String jsonHeaderPost(String url,Map<String,String> headMap,String json)throws Exception{
Request request=null;
if (json != null) {
Request.Builder requestBuilder=new Request.Builder();
//添加请求头
for(Map.Entry<String,String> entry:headMap.entrySet()){
requestBuilder.header(entry.getKey(),entry.getValue());
}
//添加请求体
RequestBody body= RequestBody.create(JSON,json);
request=requestBuilder.url(url).post(body).build();
}else {
request=new Request.Builder().url(url).build();
}
Response response=client.newCall(request).execute();
return response.body().string();
}
}
本文介绍了一个使用OkHttp库实现JSON格式POST请求的Java工具类。该工具类提供了两个主要方法:一种是简单的POST请求,另一种允许自定义请求头。通过这两个方法,开发者可以轻松地发送带有JSON数据的HTTP POST请求。
6638

被折叠的 条评论
为什么被折叠?



