贷款额度查询异步通知

大约 2 分钟

贷款额度查询异步通知

服务 IDN/A

服务详细描述

贷款额度查询异步通知

示例代码

SignValidateDemo.java

@SuppressWarnings("unchecked")
@RequestMapping("/notice/backNotice.do")
@ResponseBody
public void execute(HttpServletRequest request,HttpServletResponse response){
	// 读取请求内容
	InputStream in = null;
	try {
		in = request.getInputStream();
		ByteArrayOutputStream baos = new ByteArrayOutputStream();
		byte[] buf = new byte[1024];
		for (;;) {
			int len = in.read(buf);
			if (len == -1) {
				break;
			}
			if (len > 0) {
				baos.write(buf, 0, len);
			}
		}
		byte[] bytes = baos.toByteArray();
		String reqStr = new String(bytes, charset);
		//验签并打印出结果
		Map<String, String< dataMap = JSON.parseObject(reqStr, Map.class);
		String publicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjFtC1u1j7l/cBMZNLH+cHJCHwKK8e59mYYTXa1caffBz+OGBtNZmW0cC0Bb0oB+Sb9DZvqwTDMZiQWbCj9tc50XzZjJwjRtVvKPusxj+Z0h9i7zEK0IMRxW8YSiY/pB1nOxBCGr8BbsXi0J9CkIMbKszguGDuLXx9FrH7bTNl3+T/gL53h/BxsdYUe7nDhNnx/G06xvz700K3Mn23106jtMud0c3uWDcbhNRyQYTtRRj5kJ2HQb++2Nj6XQEjtWNYHLCo8Ml8KM5bbeLC2YFtqO2y6AjQyhMPIuTSJIExh5SrewKu5blQ2Q3eRYdQzfjVhdw6AS6QzLIYAAm/Cl9KQIDAQAB";
		boolean isPass = SignUtil.validateRSA2(dataMap, publicKey);
		if(isPass) {
			printSuccess(response);
		}else {
			printError(response);
		}
	} catch (IOException e) {
		printError(response);
	} finally {
		if(in != null) {
			try {
				in.close();
			} catch (IOException e) {
			}
		}
	}
}

/**
* 输出错误信息
*
* @param response
*/
public void printError(HttpServletResponse response) {
	response.setContentType("application/json;charset=utf-8");
	PrintWriter pw = null;
	try {
		pw = response.getWriter();
		//生成json字符串
		String text = "{\"code\":\"error\",\"message\":\"notice error\"}";
		pw.print(text);
		pw.flush();
	} catch (IOException oe) {
		logger.error("error", oe);
	} finally {
		if(pw != null) {
			pw.close();
		}
	};
}

/**
* 输出成功信息
*
* @param response
*/
public void printSuccess(HttpServletResponse response) {
	response.setContentType("application/json;charset=utf-8");
	PrintWriter pw = null;
	try {
		pw = response.getWriter();
		//生成json字符串
		String text = "{\"code\":\"00000000\",\"message\":\"success\"}";
		pw.print(text);
		pw.flush();
	} catch (IOException oe) {
		logger.error("error", oe);
	} finally {
		if(pw != null) {
			pw.close();
		}
	};
}

公共报文

[点击查看公共报文]

业务输入项

序号
key
数据项名称
类型
长度
是否必输
数据项说明
1openIdopenIdString32
2personSign唯一标识String原请求报文中的客户唯一标识
5accessToken访问令牌String32访问令牌,首次查询时有值
6expiresIn访问令牌的有效期String10单位为秒,首次查询时有值
7refreshToken刷新令牌String32刷新令牌,首次查询时有值

业务输出项

序号key数据项名称类型长度是否非空数据项说明
1code响应码string
2message响应信息string