`
weinan
  • 浏览: 38330 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

http接口json发送

阅读更多
引用
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();
	}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics