SpringMvc微信支付回调示例代码

作者:daisy 时间:2023-01-24 08:00:03 

介绍

大家都知道微信支付的回调链接要求不能跟参数,但又要接收返回的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;
}

总结

标签:springmvc,微信,支付,回调
0
投稿

猜你喜欢

  • Android中使用背景色Alpha值遇到的一个坑

    2023-06-04 11:47:31
  • Android ToolBar整合实例使用方法详解

    2023-04-05 07:27:53
  • java异常处理执行顺序详解try catch finally

    2022-10-01 04:10:10
  • Android开发实现ImageView加载摄像头拍摄的大图功能

    2023-08-06 19:22:33
  • Spring-boot的debug调试代码实例

    2023-10-17 04:49:01
  • hibernate4基本配置方式详解

    2023-03-11 11:07:43
  • 一个Servlet是如何处理多个请求的?

    2023-01-18 11:19:32
  • Android中Activity之间跳转和参数传递的实例

    2023-01-31 21:40:32
  • C# 将 Stream 保存到文件的方法

    2021-10-13 12:47:59
  • 剖析Spring WebFlux反应式编程设计及工作原理

    2023-06-10 20:01:13
  • 详解Spring Boot Oauth2缓存UserDetails到Ehcache

    2023-02-26 21:57:12
  • Android开发实现图片的上传下载

    2022-10-21 03:41:10
  • 全面解析SpringBoot文件上传功能

    2023-02-26 15:55:56
  • 解决spring boot启动扫描不到自定义注解的问题

    2023-10-29 14:31:48
  • C# 中const,readonly,static的使用小结

    2022-05-16 20:39:58
  • C#泛型概念的简介与泛型的使用

    2023-10-12 05:13:02
  • 详解Android中Notification的使用方法

    2023-02-07 13:17:39
  • C#图片切割、图片压缩、缩略图生成代码汇总

    2022-01-20 07:51:26
  • Java并发编程之volatile与JMM多线程内存模型

    2023-10-19 12:13:48
  • Android自定义View实现开关按钮

    2021-09-08 08:53:22
  • asp之家 软件编程 m.aspxhome.com