日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java微信公众号开发一:服务器信息配置

發(fā)布時間:2024/3/13 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java微信公众号开发一:服务器信息配置 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

假設你已經(jīng)擁有一個微信測試號,基本信息如下圖所示:
編輯扣接口配置信息,URL為域名服務信息地址/項目名/controller中配置的requestmapping路徑(個人開發(fā)測試的時候是用的NATAPP進行的內(nèi)網(wǎng)穿透生成的訪問路徑,本人計算機基礎比較差,說實話我還是不太理解什么原理,大神可以在下面指導一下)

接下來在java項目中編寫入口controller,get請求用來接收微信服務器發(fā)送的驗證請求,post用來接收微信端發(fā)過來的消息請求

package com.zhoumin.wechat.controller;import com.zhoumin.wechat.service.MessageService; import com.zhoumin.wechat.utils.SignUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; import java.io.UnsupportedEncodingException;@RestController @RequestMapping("/wechatEntrance") public class WechatIndexController {private static final Logger logger = LoggerFactory.getLogger(WechatIndexController.class);@Autowiredprivate MessageService messageService;@RequestMapping(method = RequestMethod.GET)public void get(HttpServletRequest request, HttpServletResponse response) {// 微信加密簽名,signature結合了開發(fā)者填寫的token參數(shù)和請求中的timestamp參數(shù)、nonce參數(shù)。String signature = request.getParameter("signature");// 時間戳String timestamp = request.getParameter("timestamp");// 隨機數(shù)String nonce = request.getParameter("nonce");// 隨機字符串String echostr = request.getParameter("echostr");PrintWriter out = null;try {out = response.getWriter();// 通過檢驗signature對請求進行校驗,若校驗成功則原樣返回echostr,否則接入失敗if (SignUtil.checkSignature(signature, timestamp, nonce)) {out.print(echostr);}} catch (IOException e) {logger.error("IO異常",e.getMessage());} finally {out.close();}}@RequestMapping(method = RequestMethod.POST)public void post(HttpServletRequest request, HttpServletResponse response) {try {request.setCharacterEncoding("UTF-8");} catch (UnsupportedEncodingException e) {e.printStackTrace();}response.setCharacterEncoding("UTF-8");// 調(diào)用核心業(yè)務類接收消息、處理消息String respMessage = messageService.newMessageRequest(request);// 響應消息PrintWriter out = null;try {out = response.getWriter();out.print(respMessage);} catch (IOException e) {logger.error("IO異常",e.getMessage());} finally {out.close();}}}

以上搞好之后,點擊接口配置提交按鈕,顯示配置成功就表示測試號已經(jīng)配置好后臺服務信息了,如果失敗的話就要參考微信開發(fā)文檔找找原因,筆者遇到基本上是服務器信息URL配置的問題。

總結

以上是生活随笔為你收集整理的java微信公众号开发一:服务器信息配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。