引用
1.发送json数据
public static String sendHttpUser(User user, String userBlspUrl, String tokenUsername, String tokenPassword) {
log.info("=====================并联审批添加用户接口开始=====================");
@SuppressWarnings("deprecation")
HttpClient httpclient = new DefaultHttpClient();
String nowDate = sdf.format(new Date());
String token = TokenUtil.createToken(tokenUsername + nowDate + tokenPassword);
String url = userBlspUrl + "?token=" + token;
HttpPost httppost = new HttpPost(url);
String strResult = "";
log.info("连接并联审批添加用户接口地址为:" + url);
JSONObject jobj = new JSONObject();
jobj.put("loginName", user.getLoginName());
jobj.put("phone", user.getPhone());
jobj.put("email", user.getEmail());
jobj.put("mobile", user.getMobile());
jobj.put("no", user.getNo());
jobj.put("name", user.getName());
jobj.put("photo", user.getPhoto());
jobj.put("loginFlag", user.getLoginFlag());
jobj.put("delFlag", user.getDelFlag());
jobj.put("remarks", user.getRemarks());
jobj.put("createBy", UserUtils.getUser().getId());
jobj.put("updateBy", UserUtils.getUser().getId());
try {
log.info("连接并联审批添加用户数据为:" + getStringFromJson(jobj));
StringEntity sEntity = new StringEntity(getStringFromJson(jobj),"utf-8");
sEntity.setContentEncoding("UTF-8");
sEntity.setContentType("application/json");
httppost.setEntity(sEntity);
HttpResponse response = httpclient.execute(httppost);
if (response.getStatusLine().getStatusCode() == 200) {
/* 读返回数据 */
String conResult = EntityUtils.toString(response.getEntity());
JSONObject sobj = new JSONObject();
sobj = sobj.parseObject(conResult);
String result = sobj.getString("result");
String code = sobj.getString("message");
if (result.equals("200")) {
strResult += "成功";
} else {
strResult += "失败," + code;
}
log.info("并联审批添加用户" + strResult);
} else {
String err = response.getStatusLine().getStatusCode() + "";
strResult += "失败:" + err;
log.error("连接并联审批添加用户接口" + strResult);
}
} catch (ClientProtocolException e) {
log.error("连接并联审批添加用户接口失败" + e.getMessage());
e.printStackTrace();
} catch (IOException e) {
log.error("发送数据错误" + e.getMessage());
e.printStackTrace();
}
log.info("=====================并联审批添加用户接口结束=====================");
return strResult;
}
private static String getStringFromJson(JSONObject adata) {
StringBuffer sb = new StringBuffer();
sb.append("{");
for (Object key : adata.keySet()) {
sb.append("\"" + key + "\":\"" + adata.get(key) + "\",");
}
String rtn = sb.toString().substring(0, sb.toString().length() - 1) + "}";
return rtn;
}
引用
2.接收jsons数据
@RequestMapping(value = "/userSync", method = RequestMethod.POST)
public RespUserSync userSync(HttpServletRequest request, HttpServletResponse response, String token) {
RespUserSync resp = new RespUserSync();
try {
InputStream inputStream = request.getInputStream();
String json = getRequestBodyJson(inputStream);
JSONObject sobj = new JSONObject();
sobj = sobj.parseObject(json);
User user = JsonMapper.getInstance().fromJson(json, User.class);
// TODO 1\数据加密对比校验 2\用户名密码获取并存储 3\返回结果RespUserSync
String nowDate = sdf.format(new Date());
String wsbstoken = TokenUtil.createToken(matterTokenUsername + nowDate + matterTokenPassword);
int count = 0;
String msg = "";
if (StringUtils.isEmpty(token) || user == null) {
resp.setResult(400);
resp.setMessage("请求数据格式有误,请检测后再提交!");
} else if (token.equals(wsbstoken)) {
// 根据loginName查询是否当前用户存在,不存在新增,存在修改
User oldUser = userService.getByLoginName(user);
if (StringUtils.isEmpty(oldUser)) {// 新增
user.setId(IdGen.uuid());
user.setCompany(new Office("1"));
user.setOffice(new Office("1"));
user.setCreateDate(new Date());
user.setUpdateDate(new Date());
user.setPassword(SystemService.entryptPassword(defaultPassword));
user.setCreateBy(new User(sobj.getString("createBy")));
user.setUpdateBy(new User(sobj.getString("updateBy")));
count = userService.insert(user);
} else {// 修改
user.setId(oldUser.getId());
user.setUpdateDate(new Date());
user.setCompany(oldUser.getCompany());
user.setPassword(oldUser.getPassword());
user.setOffice(oldUser.getOffice());
user.setUpdateBy(new User(sobj.getString("updateBy")));
count = userService.update(user);
}
if (count > 0) {
resp.setResult(200);
resp.setMessage("添加用户成功");
} else {
msg = "添加用户失败失败!";
resp.setResult(400);
resp.setMessage(msg);
}
} else {
resp.setResult(400);
resp.setMessage("Token验证失败,请核对后再提交!");
}
} catch (Exception ex) {
resp.setResult(400);
resp.setMessage("请求失败:" + ex.toString());
}
return resp;
}
private String getRequestBodyJson(InputStream inputStream) throws IOException {
Reader input = new InputStreamReader(inputStream,"utf-8");
Writer output = new StringWriter();
char[] buffer = new char[1024 * 4];
int n = 0;
while (-1 != (n = input.read(buffer))) {
output.write(buffer, 0, n);
}
return output.toString();
}
分享到:
相关推荐
kettle抽取http请求,发送json参数示例
pb通过http协议传json; pb通过http协议传json; pb通过http协议传json; pb通过http协议传json; pb通过http协议传json; pb通过http协议传json; pb通过http协议传json; pb通过http协议传json; pb通过http协议传json; pb...
在linux环境下,用SQLITE存储数据,并通过HTTP,以JSON格式发送到服务器。
最近在工作中,由于合作商只提供uRL,我这边需要通过HTTP请求Get或Post方式请求Json数据,然后解析JSON格式,解析json我使用的第三方库rapidjson。开发环境是64位win7,VS2015。
C#开发webservice接口,对客户端post服务的Json数据进行接收反馈 接收到的数据流转换成string类型,有其他需求对json解析,自己写个解析去查询下. 然后反馈json发送给请求端。
MFC程序中通过HttpGet和HttpPost方式向WebService发送请求,WebService以Json的方式返回数据,MFC程序解析Json,得到指定数据。
c#模拟post发送json和multipart/form-data格式
致远OA开发,调用REST接口,实现远程发起OA表单。附上实现代码、相关jar包、以及致远API地址
Power Builder 12.5,使用ole MSXML2.ServerXMLHTTP方式,对接WEB API,以JSON方式提交数据,POST/GET方式均可。
C#中通过直接添加引用的方来调用Web Service的方式不够灵活,故采取手动发送Http请求的方式来调用Web Service。最后选择使用Post方式来调用Web Service
NULL 博文链接:https://javasam.iteye.com/blog/2117845
http post方式请求 webservices soap协议接口
做接口自动化测试时,常常需要使用python发送一些json内容的接口报文,如果使用urlencode对内容进行编码解析并发送请求,会发现服务器返回了200,OK的状态,但响应内容不可读(像是一堆加密报文)。定位问题时发现抓...
Unity 中通过UnityWebRequest 以POST形式传JSON格式(键值对格式)的参数请求数据。
简单介绍一下通过shell命令调用http接口(curl方式)先上样例样例介绍参数详解 先上样例 1、curl -H Content-Length:0 -X GET http://127.0.0.1:8080 2、curl -H Content-Type: application/json -H connection:Keep...
1.使用 get 向网站发送请求,http和https都支持哦!! 且能使用 .setHeader() 设置申请中的 Headers 头(重点) * 2.使用Qstring中的 .arg(a) 对字符串进行更改 3.将网站返回的json成功解析(重点) 4.另外附赠一个...
Power Builder 12.5,使用ole MSXML2.ServerXMLHTTP方式,对接WEB API,以选用JSON和x-www-form-urlencoded方式提交数据,POST/GET方式均可。
http接口通用调试工具,支持get、post、put、patch、delete方法,数据的发送和接收使用json格式,即Content-Type: application/json
因项目的需要,PHP调用第三方 Java/.Net 写好的 Restful Api,其中有些接口,需要 在发送 POST 请求时,传入对象。 Http中传输对象,最好的表现形式莫过于JSON字符串了,但是作为参数的接收方,又是需要被告知传过来...