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

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