ケースを説明するための応答としてテキストは、Java開発マイクロチャンネル公衆数に関連していました。
まず、個人的なマイクロチャネル公共数がなければなりません
しかし、個人的な研究と十分な経験のためのインタフェースに関連する個々のマイクロチャネルの公共機関の限られた数は、図示のように:
その後、マイクロチャネル公共背景を入力します(その背景に設定要求URLに、有効をクリックします)、次の操作に応じて基本設定をクリックします。
設定サーバーのURL、トークン、メッセージの暗号化キー(これは自動的に使用して生成することができます):
サーバーのURLが重要である、私は自分のドメイン名を設定するためにここにいるhttp://www.youcongtech.com/wx-apiを。
WX-APIは、対応するインターフェイス(例えば、私はキーワード、対応するリターン情報を送信)の背後にあります。
トークンは、より複雑な設定することができます。
レンダリング
上記のいずれの問題もなく人からマイクロチャネル公共番号、および長期安定動作の効果を実証
背景ルーティング・コード
パッケージcom.blog.springboot.controller。 インポートにjava.io.IOException; 輸入てjava.io.PrintWriter; 輸入java.io.UnsupportedEncodingException。 インポートのjavax.servlet.http.HttpServletRequest; インポートのjavax.servlet.http.HttpServletResponse; 輸入org.springframework.beans.factory.annotation.Autowired; 輸入org.springframework.web.bind.annotation.GetMapping。 輸入org.springframework.web.bind.annotation.PostMapping。 輸入org.springframework.web.bind.annotation.RequestMapping。 輸入org.springframework.web.bind.annotation.RestController。 輸入com.blog.springboot.wx.service.WxService。 輸入com.blog.springboot.wx.util.SignUtil。 輸入io.swagger.annotations.Api; io.swagger.annotations.ApiOperationインポート; / * * *公衆マイクロチャンネル番号API * @author youcong * @date 2019年6月2日 * / @RestController @RequestMapping(" / wx_public_api " ) @Api(タグ = { " マイクロチャネル公共いいえAPI " }、説明= " マイクロチャンネル番号パブリックAPI 」) パブリック クラスAbstractController {に延びWxPublicApiController @Autowired プライベートwxService wxService; / * * *公衆インターネット微信認証サーバ構成 * @paramリクエスト * @param応答 * / @GetMapping @ApiOperation(「マイクロチャネル公共プラットフォームのサーバ構成の検証」) 公共 ボイド検証(要求のHttpServletRequest、HttpServletResponseの応答を){ // マイクロチャネル暗号化された署名は、署名、タイムスタンプパラメータ開発者トークンのパラメータを組み合わせて、リクエスト、ノンスパラメータで埋めます。 署名request.getParameter =文字列(" 署名" ); // タイムスタンプ 列= request.getParameterタイムスタンプ(" タイムスタンプ" ); // 乱数 列= request.getParameterノンス(" ナンス" )。 // ランダムな文字列の 文字列echostr = request.getParameter(「echostr 」); のPrintWriter OUT = ヌル; 試み{ OUT = response.getWriter(); // チェックが成功した場合、それが返され、署名をチェックして、要求を検証しますechostr、アクセス障害または IF (SignUtil.checkSignature(署名、タイムスタンプ、ノンス)){ OUT .PRINT(echostr); } } キャッチ(IOExceptionをE){ e.printStackTrace(); logger.error(e.getMessage() ); } 最後に{ OUT .close(); OUT = ヌル; } } / * * *プッシュメッセージに従ってください * @paramリクエスト * @param応答 * / @PostMapping @ApiOperation(" プッシュメッセージフォロー" ) 公共の 無効(HttpServletRequestのリクエストについては、応答HttpServletResponseの){ 試み{ Request.setCharacterEncoding(" UTF-8 " ); } キャッチ(にUnsupportedEncodingException E){ e.printStackTrace(); logger.error(e.getMessage()、E); } response.setContentType(" テキスト/ HTML;のcharset = UTF-8 " ); // 中央トラフィッククラス受信したメッセージを呼び出し処理メッセージ 文字列respMessage = wxService.newMessageRequest(要求); // に対する応答メッセージ のPrintWriter OUT = NULL ; 試み{ OUT = response.getWriter(); OUTの.PRINT(respMessage); } キャッチ(IOExceptionをE){ e.printStackTrace(); logger.error(e.getMessage()、E)。 } 最後に{ アウト.close(); アウト = nullを。 } } }
完全なコード
完全なコードは、私の個人のGitHubリポジトリ、アドレスを入れてきた。https://github.com/developers-youcong/blog-springcloud-pro/tree/master/blog-wx-client
これは、サブプロジェクトの一つに、マイクロチャネルの公共プラットフォームの主な機能です。
私の個人的な主なメンテナンスが明らかにされていないオープンソースプロジェクトのビューでは、そこに個人情報がたくさんあるというように、ので、私の新しいオープンソースプロジェクトのブログ-springcloud - プロに抽出モジュールのパブリック・マイクロチャネル番号の1(このプロジェクトのために現在開発中である)となります。
モジュールのパブリック・マイクロチャンネル番号は、実質的に彼のトークン、APPID、appsecretを入れて利用できる基本的なラインを展開します。ご質問がある、あなたがメッセージを残すことができます。