SpringMVC 用http請求的Get和Post請求作為路由的方法的重載方式


@Controller
@RequestMapping("/messageProcessing")
public class WechatPushController {
    
    @Autowired
    private WechatPushService wechatPushService;
    
    @Autowired
    private WechatOAuthService wechatOAuthService;
    
    @Autowired
    private WechatUserService wechatUserService;
    
    
    /**
     * 確認請求來自微信服務器
     */
    @RequestMapping(value="/doGet",method=RequestMethod.GET)
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // 微信加密簽名  
        String signature = request.getParameter("signature");  
        // 時間戳  
        String timestamp = request.getParameter("timestamp");  
        // 隨機數  
        String nonce = request.getParameter("nonce");  
        // 隨機字符串  
        String echostr = request.getParameter("echostr");  
  
        PrintWriter out = response.getWriter();  
        // 通過檢驗signature對請求進行校驗,若校驗成功則原樣返回echostr,表示接入成功,否則接入失敗  
        if (WechatSignUtil.checkSignature(signature, timestamp, nonce)) {  
            out.print(echostr);  
        }  
        out.close();  
        out = null;  
    }

    /**
     * 處理微信服務器發來的消息
     */
    @RequestMapping(value="/doGet",method=RequestMethod.POST)
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // 將請求、響應的編碼均設置為UTF-8(防止中文亂碼)
        request.setCharacterEncoding("UTF-8");
        response.setCharacterEncoding("UTF-8");

        // 調用核心業務類接收消息、處理消息
        String respMessage = wechatPushService.processRequest(request);

        // 響應消息
        PrintWriter out = response.getWriter();
        out.print(respMessage);
        out.close();
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM