1、jar:httpclient-4.5.2.jar
2.1、请求的json数据
public static String doPost(String url, String params) throws Exception {
CloseableHttpClient httpclient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost(url);
httpPost.setHeader("Accept", "application/json");
httpPost.setHeader("Content-Type", "application/json");
StringEntity entity = new StringEntity(params, "UTF-8");
httpPost.setEntity(entity);
CloseableHttpResponse response = null;
try {
response = httpclient.execute(httpPost);
StatusLine status = response.getStatusLine();
int state = status.getStatusCode();
if (state == HttpStatus.SC_OK) {
HttpEntity responseEntity = response.getEntity();
return EntityUtils.toString(responseEntity);
}
else{
logger.error("ProjectSendUtil.doPost.ErrorState:"+state);
}
} catch (Exception e) {
logger.error("ProjectSendUtil.doPost.ErrorMessage:" + e.getMessage());
}
finally {
try {
response.close();
httpclient.close();
} catch (Exception e) {
logger.error("ProjectSendUtil.doPost.ErrorMessage:" + e.getMessage());
}
}
return null;
}
2.2、请求的map数据
public static String mapPost(String url, Map<String,Object> map){
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost(url);
//设置参数
List<NameValuePair> list = new ArrayList<NameValuePair>();
Iterator iterator = map.entrySet().iterator();
while(iterator.hasNext()){
Map.Entry<String,String> elem = (Map.Entry<String, String>) iterator.next();
list.add(new BasicNameValuePair(elem.getKey(),String.valueOf(elem.getValue())));
}
String result = null;
try{
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(list, "UTF-8");
httpPost.setEntity(entity);
HttpResponse response = httpClient.execute(httpPost);
if(response != null){
HttpEntity resEntity = response.getEntity();
if(resEntity != null){
result = EntityUtils.toString(resEntity, "UTF-8");
}
}
}catch(Exception ex){
ex.printStackTrace();
}
return result;
}
3、Springmvc接收
@RequestMapping(value="/postJson",method = RequestMethod.POST,produces="application/json;charset=UTF-8")
@ResponseBody
public String postJson(@RequestBody Object aa,HttpServletRequest request)
{
System.out.println(aa);
return "success";
}