对json数据进行处理的http请求

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();
}

}


版权声明:本文为m0_45270708原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。