spring boot2微信公众号开发之普通消息处理

微信服务器向开发者的URL推送消息

根据官方文档描述,当普通微信用户向公众账号发消息时,微信服务器将POST消息的XML数据包到开发者填写的URL上。

  1. 文本消息内容结构及说明
    在这里插入图片描述
  2. 由于微信服务器推送过来的数据格式是XML,所以需要转换成Java可操作的类型,故而可转为Map,借助第三方Jar包工具来完成,部分代码截图如下,完整代码已经放入码云在这里插入图片描述

    Map的Key分别对应xml标签的子标签,如:ToUserName、 FromUserName、MsgType等等,而Value则是子标签中间的内容,
    如:1348831860,text、this is a test等等
被动回复用户消息(开发者向微信服务器推送消息)

根据官方文档描述,当用户发送消息给公众号时(或某些特定的用户操作引发的事件推送时),会产生一个POST请求,开发者可以在响应包(Get)中返回特定XML结构,来对该消息进行响应(现支持回复文本、图片、图文、语音、视频、音乐。这里先看文本消息

  1. 推送的消息数据包结构如下
    在这里插入图片描述
    这里要注意的是:开发者向用于推送消息时,FromUserName和ToUserName要刚好和微信服务器推过来的相反,因为发送者和接收方刚好是反过来了是吧。

    既然用Java,那么自然而然就要把消息封装成对象,再将对象转为XML数据包,文本消息实体类结构如图:Message
    这里要注意的是:类的成员名称要和官方要求的XML的标签名称一致,不然微信服务器无法解析就会报错
  2. 有选择的回复消息
    根据微信推过来的不同的消息,可定制化的回复自定义消息,部分截图:
    然后将封装好的对象转成XML数据格式
    在这里插入图片描述
    在这里插入图片描述

扫码体验

在这里插入图片描述
源代码: https://gitee.com/amvilcresx/wx

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章