ホームページ  >  に質問  >  本文

java - springmvc 如何配置微信公众号服务器controller。

调用接口发送消息成功,那服务器配置肯定是对的,但是收不到微信推送的消息,比如关注事件。

    @RequestMapping(value = "/", method = {RequestMethod.GET})
    public String wx(@RequestParam String signature, @RequestParam String timestamp, @RequestParam String nonce, String echostr, HttpServletRequest request, HttpServletResponse response) {
        if (!wxMpService.checkSignature(timestamp, nonce, signature)) {
            LOGGER.info("非法请求, signature:{}", signature);
            return "非法请求";
        }

        if (StringUtils.isNotBlank(echostr)) {
            LOGGER.info("验证:{}", echostr);
            return echostr;
        }

        LOGGER.info("wx:", JSON.toJSONString(request));
        return null;
    }

    @RequestMapping(value = "/", method = {RequestMethod.POST})
    public String service( HttpServletRequest request, HttpServletResponse response) throws Exception {
        LOGGER.info("service, request: {},", JSON.toJSONString(request));

        WxMpXmlMessage inMessage = WxMpXmlMessage.fromXml(request.getInputStream());
        WxMpXmlOutMessage outMessage = wxMpMessageRouter.route(inMessage);
        if(outMessage == null) {
            LOGGER.info("outMessage is null");
            return "";
        }
        return outMessage.toXml();
    }
    

get请求验证配置是通过的,post请求接不到数据,求问题所在,谢谢了

迷茫迷茫2765日前950

全員に返信(5)返信します

  • 迷茫

    迷茫2017-04-17 17:55:06

    明らかに、method = {RequestMethod.GET}

    を指定しました。

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 17:55:06

    produces: 返されるコンテンツ タイプを指定します。request リクエスト ヘッダーの (Accept) タイプに指定されたタイプが含まれる場合にのみ返されます。

    返事
    0
  • 迷茫

    迷茫2017-04-17 17:55:06

    request.getInputStream の効果は試していません。私が書いたのは次のとおりです。

    リーリー

    あなたのためにそれを検索しました。spring-mvc がすでに使用しているため、inputStream を使用することはできません。
    参考 http://hw1287789687.iteye.com/blog/2199295

    返事
    0
  • 迷茫

    迷茫2017-04-17 17:55:06

    ご回答ありがとうございます。securityが制限されているため、問題は解決しました。CROSの書き込みには問題ありません。

    返事
    0
  • 迷茫

    迷茫2017-04-17 17:55:06

    こんにちは、私もあなたと同じ問題に遭遇しました。具体的な検索方法は何ですか?セキュリティの設定をしていないのですが、リクエストを受信できない場合はどこから解決すればよいですか?私のメールアドレス: jtmjx@163.com、QQ: 253552550、私の名前を教えてください、ありがとうございます。

    返事
    0
  • キャンセル返事