HttpClient 中没有HttpPatch类,可以继承HttpPut来实现

import org.apache.http.client.methods.HttpPut;

public class HttpPatch extends HttpPut{
public HttpPatch(String url) {
super(url);
}
@Override
public String getMethod(){
return "PATCH";
}
}


一次请求的方法如下:


public static JSONObject executeHttpPatch(String url,JSONObject jsonParam){  
JSONObject resultObj = null;
HttpClient httpClient = new DefaultHttpClient();
HttpPatch httpPatch = new HttpPatch(url);
httpPatch.setHeader("Content-type", "application/json");
httpPatch.setHeader("Charset", HTTP.UTF_8);
httpPatch.setHeader("Accept", "application/json");
httpPatch.setHeader("Accept-Charset", HTTP.UTF_8);
try {
if (jsonParam != null){
StringEntity entity = new StringEntity(jsonParam.toString(),HTTP.UTF_8);
httpPatch.setEntity(entity);
}
HttpResponse response = httpClient.execute(httpPatch);
resultObj = new JSONObject(EntityUtils.toString(response.getEntity()));
} catch (ParseException | JSONException | IOException e) {
e.printStackTrace();
}

return resultObj;
}