首页 > Web开发 > 详细

HttpClient跨域请求post

时间:2017-12-10 19:17:22      阅读:263      评论:0      收藏:0      [点我收藏+]

 

service层

@Override
public Map<String, Object> selectCurrentProgress(String branchesId,String businessId) throws Exception {
//用于结束返回映射结果
Map<String ,Object> map=new HashMap<String,Object>();
//用于判断是否返回成功
int result=0;
// 创建默认的httpClient实例.
CloseableHttpClient httpclient = HttpClients.createDefault();
// 创建httppost
HttpPost httppost = new HttpPost("请求地址");
// 创建参数队列
List<NameValuePair> formparams = new ArrayList<NameValuePair>();
formparams.add(new BasicNameValuePair("branchesId", branchesId));
formparams.add(new BasicNameValuePair("businessId", businessId));
UrlEncodedFormEntity uefEntity;
try {
uefEntity = new UrlEncodedFormEntity(formparams, "UTF-8");
httppost.setEntity(uefEntity);
System.out.println("executing request " + httppost.getURI());
CloseableHttpResponse response = httpclient.execute(httppost);
try {
HttpEntity entity = response.getEntity();
if (entity != null) {
String jsonStr=EntityUtils.toString(entity, "UTF-8");
JSONObject jsonObj=JSONObject.parseObject(jsonStr);
if(jsonObj.getInteger("Code")==0){
result=1;
JSONObject dataJSONObj=jsonObj.getJSONObject("Data");
Integer waitingNumber=dataJSONObj.getInteger("要在页面显示的参数1");
Integer remainderNumber=dataJSONObj.getInteger("要在页面显示的参数2");
String estimateWaitingTime=dataJSONObj.getString("要在页面显示的参数3");
map.put("waitingNumber", waitingNumber);
map.put("remainderNumber", remainderNumber);
map.put("EstimateWaitingTime", estimateWaitingTime);
}
System.out.println("--------------------------------------");
// System.out.println("Response content: " + EntityUtils.toString(entity, "UTF-8"));
System.out.println("--------------------------------------");
}
} finally {
response.close();
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
// 关闭连接,释放资源
try {
httpclient.close();
} catch (IOException e) {
e.printStackTrace();
}
}
map.put("result", result);
return map;
}

 

Controller层

@RequestMapping("")
@ResponseBody
public Map<String, Object> selectCurrentProgress(String branchesId,String businessId){
Map<String, Object> map = new HashMap<String,Object>();
try {
map = keywordsService.selectCurrentProgress( branchesId, businessId);
} catch (Exception e) {
map.put("result", 1);
map.put("message", "异常");
e.printStackTrace();
}
return map;
}

 

第一次写博客,写的不是很好,请见谅

HttpClient跨域请求post

原文:http://www.cnblogs.com/Mingzz/p/8017734.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!