码迷,mamicode.com
首页 > Web开发 > 详细

HttpClient跨域请求post

时间:2017-12-10 19:33:05      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:tac   ram   control   air   ide   --   tpc   ppi   rds   

 

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

标签:tac   ram   control   air   ide   --   tpc   ppi   rds   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!