`
weinan
  • 浏览: 39485 次
  • 性别: 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();
	}
分享到:
评论

相关推荐

    kettle抽取http请求,发送json参数.docx

    kettle抽取http请求,发送json参数是指使用kettle工具从http接口中抽取数据,并将抽取的数据发送到目标系统中。这里的http请求是指从外部系统中获取数据,而不是指kettle自身的http请求。 描述解释 kettle抽取http...

    json发送小工具

    “Json发送小工具”正如其名,是一款方便用户发送JSON数据的工具。在Web开发中,我们经常需要向服务器发送请求并附带一些数据,这时JSON因其简洁和高效成为首选的数据格式。这款工具可能提供了一个友好的界面,让...

    pb通过http协议传json.zip

    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请求json接口数据"指出我们要使用Java发送HTTP请求到一个提供JSON数据的接口。这通常涉及到HTTP的GET或POST方法。GET用于从服务器获取数据,而POST用于向服务器发送数据。在Java中,我们可以使用`java...

    安卓调用远程http接口http-json

    本教程将深入探讨如何在Android应用中调用远程HTTP接口并处理返回的JSON数据。 一、HTTP请求库的选择 在Android中,我们可以使用多种库来发送HTTP请求,如HttpURLConnection(原生API)、Volley、Retrofit、OkHttp...

    接口json数据及转换

    在Web服务中,接口接收和发送数据时,通常会使用JSON格式。比如,一个简单的用户注册接口可能会接收包含用户名、密码等信息的JSON数据,然后将这些数据保存到数据库。同样,查询接口可能返回一个包含用户信息的JSON...

    PB调用http api接口 PB解析json

    在这个过程中,PB不仅需要发送HTTP请求,还需要处理响应,尤其是当响应数据格式为JSON时,PB需要能够解析JSON并将其转化为可用的数据源。 首先,让我们详细了解PB如何调用HTTP API接口。在PowerBuilder中,你可以...

    java代码发送JSON格式的httpPOST请求

    ### Java代码发送JSON格式的HTTP POST请求:深入解析与实现 在现代的Web开发中,JSON(JavaScript Object Notation)已成为数据交换的标准格式之一,因其轻量级、易读性及跨平台兼容性而受到广泛青睐。对于Java...

    SSH封装接口返回Json数据

    在这个场景中,"SSH封装接口返回Json数据"意味着我们有一个接口,该接口在执行SSH任务后会返回结构化的Json数据。Json(JavaScript Object Notation)是一种轻量级的数据交换格式,因其易读、易写、易解析的特点,在...

    delphi7+Http读写Json数据.rar

    在"delphi7+Http读写Json数据"的项目中,开发者可能首先需要创建一个HTTP客户端,使用Indy或Wininet组件来发送HTTP请求到服务器。然后,他们会在请求体中附加JSON格式的数据,通过SuperObject将Delphi的变量或记录...

    图片上传接口-Json

    接着,客户端发起一个HTTP POST请求,将JSON数据作为请求体发送到服务器端的图片上传接口。 4. **服务器处理**:服务器接收到POST请求后,解析JSON数据,提取出Base64字符串,将其解码回原始的图片二进制数据。然后...

    delphi_demo HttpPost+JSON

    标题“delphi_demo HttpPost+JSON”涉及到的是一个Delphi编程示例,它演示了如何使用HTTP POST方法发送JSON格式的数据。Delphi是Embarcadero Technologies开发的一种面向对象的编程语言,常用于Windows应用程序开发...

    http接口返回json,springmvc+mybatis+oracle

    标题中的“http接口返回json,springmvc+mybatis+oracle”揭示了这是一个使用SpringMVC作为Web层框架,MyBatis作为数据访问层框架,并且与Oracle数据库进行交互的项目。接下来,我们将深入探讨这些技术及其在实际...

    Qt 写的http 请求使用POST Json

    在本项目中,"Qt 写的http 请求使用POST Json" 提供了一个使用Qt库实现HTTP POST请求的方法,用于向服务器发送JSON格式的数据。下面我们将深入探讨这个主题。 首先,我们来了解Qt中的网络编程。Qt提供了...

    app接口传递json格式参数

    总之,“app接口传递json格式参数”是现代移动应用开发的核心部分,涉及Java后台创建JSON对象、发送HTTP请求,以及客户端解析和使用JSON数据。理解并熟练掌握这些技术对于任何从事app开发的工程师来说都是至关重要的...

    登陆与注册接口JSON

    标题中的“登陆与注册接口JSON”指的是一个专门处理用户登录和注册功能的API接口,它基于JSON格式进行数据交互。接口是应用程序之间通信的桥梁,允许客户端(如移动应用或Web应用)与服务器进行数据交换,完成特定的...

    c语言编写 基于SOCKET HTTP Json 请求

    本文将深入探讨如何使用C语言通过SOCKET实现HTTP协议,并且重点讲解如何构造和发送JSON格式的数据进行POST请求。我们将以Visual Studio 2013作为开发环境,通过分析“scoket_http”这个压缩包中的文件,来揭示这一...

    .Net C# Json接口读取实例

    你可以使用C#的HttpClient类来发送HTTP请求并接收响应,然后使用Json.NET来解析返回的JSON字符串。以下是一个简单的示例: ```csharp using System.Net.Http; using Newtonsoft.Json; // 创建HttpClient实例 ...

    HTTP Post提交Json与接收返回结果 Winform程序

    在这个场景中,我们将关注于使用Winform应用程序通过HTTP POST方法发送JSON数据,并接收服务器返回的JSON结果。Winform是.NET Framework中的一个用户界面库,用于构建桌面应用程序。 首先,我们需要理解HTTP POST...

    在linux环境下,用SQLITE存储数据,并通过HTTP,以JSON格式发送到服务器

    在linux环境下,用SQLITE存储数据,并通过HTTP,以JSON格式发送到服务器。

Global site tag (gtag.js) - Google Analytics