引用
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参数是指使用kettle工具从http接口中抽取数据,并将抽取的数据发送到目标系统中。这里的http请求是指从外部系统中获取数据,而不是指kettle自身的http请求。 描述解释 kettle抽取http...
“Json发送小工具”正如其名,是一款方便用户发送JSON数据的工具。在Web开发中,我们经常需要向服务器发送请求并附带一些数据,这时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...
标题"使用java请求json接口数据"指出我们要使用Java发送HTTP请求到一个提供JSON数据的接口。这通常涉及到HTTP的GET或POST方法。GET用于从服务器获取数据,而POST用于向服务器发送数据。在Java中,我们可以使用`java...
本教程将深入探讨如何在Android应用中调用远程HTTP接口并处理返回的JSON数据。 一、HTTP请求库的选择 在Android中,我们可以使用多种库来发送HTTP请求,如HttpURLConnection(原生API)、Volley、Retrofit、OkHttp...
在Web服务中,接口接收和发送数据时,通常会使用JSON格式。比如,一个简单的用户注册接口可能会接收包含用户名、密码等信息的JSON数据,然后将这些数据保存到数据库。同样,查询接口可能返回一个包含用户信息的JSON...
在这个过程中,PB不仅需要发送HTTP请求,还需要处理响应,尤其是当响应数据格式为JSON时,PB需要能够解析JSON并将其转化为可用的数据源。 首先,让我们详细了解PB如何调用HTTP API接口。在PowerBuilder中,你可以...
### Java代码发送JSON格式的HTTP POST请求:深入解析与实现 在现代的Web开发中,JSON(JavaScript Object Notation)已成为数据交换的标准格式之一,因其轻量级、易读性及跨平台兼容性而受到广泛青睐。对于Java...
在这个场景中,"SSH封装接口返回Json数据"意味着我们有一个接口,该接口在执行SSH任务后会返回结构化的Json数据。Json(JavaScript Object Notation)是一种轻量级的数据交换格式,因其易读、易写、易解析的特点,在...
在"delphi7+Http读写Json数据"的项目中,开发者可能首先需要创建一个HTTP客户端,使用Indy或Wininet组件来发送HTTP请求到服务器。然后,他们会在请求体中附加JSON格式的数据,通过SuperObject将Delphi的变量或记录...
接着,客户端发起一个HTTP POST请求,将JSON数据作为请求体发送到服务器端的图片上传接口。 4. **服务器处理**:服务器接收到POST请求后,解析JSON数据,提取出Base64字符串,将其解码回原始的图片二进制数据。然后...
标题“delphi_demo HttpPost+JSON”涉及到的是一个Delphi编程示例,它演示了如何使用HTTP POST方法发送JSON格式的数据。Delphi是Embarcadero Technologies开发的一种面向对象的编程语言,常用于Windows应用程序开发...
标题中的“http接口返回json,springmvc+mybatis+oracle”揭示了这是一个使用SpringMVC作为Web层框架,MyBatis作为数据访问层框架,并且与Oracle数据库进行交互的项目。接下来,我们将深入探讨这些技术及其在实际...
在本项目中,"Qt 写的http 请求使用POST Json" 提供了一个使用Qt库实现HTTP POST请求的方法,用于向服务器发送JSON格式的数据。下面我们将深入探讨这个主题。 首先,我们来了解Qt中的网络编程。Qt提供了...
总之,“app接口传递json格式参数”是现代移动应用开发的核心部分,涉及Java后台创建JSON对象、发送HTTP请求,以及客户端解析和使用JSON数据。理解并熟练掌握这些技术对于任何从事app开发的工程师来说都是至关重要的...
标题中的“登陆与注册接口JSON”指的是一个专门处理用户登录和注册功能的API接口,它基于JSON格式进行数据交互。接口是应用程序之间通信的桥梁,允许客户端(如移动应用或Web应用)与服务器进行数据交换,完成特定的...
本文将深入探讨如何使用C语言通过SOCKET实现HTTP协议,并且重点讲解如何构造和发送JSON格式的数据进行POST请求。我们将以Visual Studio 2013作为开发环境,通过分析“scoket_http”这个压缩包中的文件,来揭示这一...
你可以使用C#的HttpClient类来发送HTTP请求并接收响应,然后使用Json.NET来解析返回的JSON字符串。以下是一个简单的示例: ```csharp using System.Net.Http; using Newtonsoft.Json; // 创建HttpClient实例 ...
在这个场景中,我们将关注于使用Winform应用程序通过HTTP POST方法发送JSON数据,并接收服务器返回的JSON结果。Winform是.NET Framework中的一个用户界面库,用于构建桌面应用程序。 首先,我们需要理解HTTP POST...
在linux环境下,用SQLITE存储数据,并通过HTTP,以JSON格式发送到服务器。