当前位置: 移动技术网 > IT编程>开发语言>Java > SpringMvc微信支付回调示例代码

SpringMvc微信支付回调示例代码

2019年07月22日  | 移动技术网IT编程  | 我要评论

介绍

大家都知道微信支付的回调链接要求不能跟参数,但又要接收返回的xml数据。我开始使用@requestbody注解在参数上,希望能获取xml数据,测试失败。最后使用httpservletrequest去获取数据成功了。

示例代码

@requestmapping("/weixinpay/callback")
public string callback(httpservletrequest request){
 inputstream is = request.getinputstream();
 string xml = streamutil.inputstream2string(is, "utf-8")
 /**
 * 后面把xml转成map根据数据作逻辑处理
 */
}
/**
 * inputstream流转换成string字符串
 * @param instream inputstream流
 * @param encoding 编码格式
 * @return string字符串
 */
public static string inputstream2string(inputstream instream, string encoding){
 string result = null;
 try {
 if(instream != null){
  bytearrayoutputstream outstream = new bytearrayoutputstream();
  byte[] tempbytes = new byte[_buffer_size];
  int count = -1;
  while((count = instream.read(tempbytes, 0, _buffer_size)) != -1){
    outstream.write(tempbytes, 0, count);
  }
  tempbytes = null;
  outstream.flush();
  result = new string(outstream.tobytearray(), encoding);
 }
 } catch (exception e) {
 result = null;
 }
 return result;
}

总结

以上就是这篇文章的全部内容了,希望能对大家的学习或者工作带来一定的帮助,如果有疑问大家可以留言交流。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网