[简单日记]服务层通用post请求

/**
* 使用post请求
* @param obj 请求参数对象
* @param httpUrl 请求URL地址
* @return 请求网关的返回值
* @throws Exception
*/
private String executePost(Object obj, String httpUrl) throws Exception {
String result = "";
Class cls = obj.getClass();
Field[] fields = cls.getDeclaredFields();
List<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>();
//设置请求参数
String fieldName = null;
String fieldNameUpper = null;
Method getMethod = null;
String value = null;
for (int i = 0; i < fields.length; i++) {//循环设置请求参数
fieldName = fields[i].getName();
fieldNameUpper = Character.toUpperCase(fieldName.charAt(0)) + fieldName.substring(1);
getMethod = cls.getMethod("get" + fieldNameUpper);//通过反射获取get方法
value = (String) getMethod.invoke(obj);//通过反射调用get方法
if(value != null) {//请求参数值不为空,才设置
params.add(new BasicNameValuePair(fieldName, value));
}
}
HttpPost httppost = new HttpPost(httpUrl);//设置HttpPost
httppost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8)); // 设置参数的编码UTF-8
HttpClient httpclient = new DefaultHttpClient();//创建HttpClient
HttpEntity entity = httpclient.execute(httppost).getEntity();//Http请求网关
if(entity != null&& entity.getContentLength() >0) {//返回值不为空,且长度大于0
result=EntityUtils.toString(entity);//将返回值转换成字符串
}//处理返回结果
httpclient.getConnectionManager().shutdown();//关闭连接
r eturn result;//返回返回值
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值