贷款额度查询异步通知
大约 2 分钟
贷款额度查询异步通知
服务 ID | N/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 | 数据项名称 | 类型 | 长度 | 是否必输 | 数据项说明 |
---|---|---|---|---|---|---|
1 | openId | openId | String | 32 | 是 | |
2 | personSign | 唯一标识 | String | 是 | 原请求报文中的客户唯一标识 | |
5 | accessToken | 访问令牌 | String | 32 | 是 | 访问令牌,首次查询时有值 |
6 | expiresIn | 访问令牌的有效期 | String | 10 | 是 | 单位为秒,首次查询时有值 |
7 | refreshToken | 刷新令牌 | String | 32 | 是 | 刷新令牌,首次查询时有值 |
业务输出项
序号 | key | 数据项名称 | 类型 | 长度 | 是否非空 | 数据项说明 |
---|---|---|---|---|---|---|
1 | code | 响应码 | string | 是 | ||
2 | message | 响应信息 | string | 是 |