SpringMvc微信支付回调示例代码

 更新时间:2016年09月30日 16:39:55   投稿:daisy  
微信一直是一个比较热门的词汇,今天这篇文章主要介绍的是SpringMvc微信支付回调的示例代码,对大家开发微信支付具有一定的参考借鉴价值,下面来一起看看吧。

介绍

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

总结

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

相关文章

  • 使用IntelliJ IDEA调式Stream流的方法步骤

    使用IntelliJ IDEA调式Stream流的方法步骤

    本文主要介绍了使用IntelliJ IDEA调式Stream流的方法步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • java对接微信小程序详细流程(登录&获取用户信息)

    java对接微信小程序详细流程(登录&获取用户信息)

    这篇文章主要给大家介绍了关于java对接微信小程序(登录&获取用户信息)的相关资料,我们在开发微信小程序时经常需要获取用户微信用户名以及头像信息,微信提供了专门的接口API用于返回这些信息,需要的朋友可以参考下
    2023-08-08
  • Java检测网络是否正常通讯

    Java检测网络是否正常通讯

    在网络应用程序中,检测IP地址和端口是否通常是必要的,本文主要介绍了Java检测网络是否正常通讯,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • swing分割窗口控件JSplitPane使用方法详解

    swing分割窗口控件JSplitPane使用方法详解

    这篇文章主要为大家详细介绍了swing分割窗口控件JSplitPane的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • SpringBoot 关于Feign的超时时间配置操作

    SpringBoot 关于Feign的超时时间配置操作

    这篇文章主要介绍了SpringBoot 关于Feign的超时时间配置操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • java 基础之JavaBean属性命名规范问题

    java 基础之JavaBean属性命名规范问题

    这篇文章主要介绍了java 基础之JavaBean属性命名规范问题的相关资料,需要的朋友可以参考下
    2017-05-05
  • Java Durid进行JDBC连接详解

    Java Durid进行JDBC连接详解

    今天给大家带来的是关于Java的相关知识,文章简单使用Durid进行JDBC连接,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-09-09
  • Spring boot搭建web应用集成thymeleaf模板实现登陆

    Spring boot搭建web应用集成thymeleaf模板实现登陆

    这篇文章主要介绍了Spring boot搭建web应用集成thymeleaf模板实现登陆,页面使用bootstrap,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • java设计模式责任链模式原理案例详解

    java设计模式责任链模式原理案例详解

    一个事件需要经过多个对象处理是一个挺常见的场景,譬如采购审批流程,请假流程,软件开发中的异常处理流程,web请求处理流程等各种各样的流程,可以考虑使用责任链模式来实现
    2021-09-09
  • MyBatis批量插入几千条数据为何慎用foreach

    MyBatis批量插入几千条数据为何慎用foreach

    这篇文章主要介绍了MyBatis批量插入几千条数据为何慎用foreach问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10

最新评论