有两种办法
第一种
最简单:
点击提交的时候,微信公众号会给你url发送一个get请求,
里面有个echostr参数直接返回就行了,
第二种:
就是根据微信发过来的签名,然后你把数据加密下,对比下数据,然后把echostr返回回去
直接上代码
@RequestMapping("/wx")
@ResponseBody
public String wxGZHGetMsg(HttpServletRequest request){
// 获取随机数
String echostr = request.getParameter("echostr");
// 加密签名
String signature = request.getParameter("signature");
//随机数
String nonce = request.getParameter("nonce");
//时间戳
String timestamp = request.getParameter("timestamp");
// 自己在微信开发那里设置的
String token ="aaa";
List<String> list = new ArrayList<>();
list.add(token);
list.add(timestamp);
list.add(nonce);
Collections.sort(list);
String join = String.join("", list);
String s = DigestUtils.sha1DigestAsHex(join);
System.out.println(s);
System.out.println(signature);
return request.getParameter("echostr");
}