请求code的控制器如下所示:
参数是我自己的,换成你的参数就好
@RequestMapping(“/getCode”)
public void getCode(HttpServletRequest request, HttpServletResponse response) throws IOException {
//拼接url
StringBuilder url = new StringBuilder();
url.append(“https://open.weixin.qq.com/connect/oauth2/authorize?”);
//微信开放平台的appid
url.append(“appid=” + WeixinConfig.appId);
//转码
try {
//回调地址 ,回调地址要进行Encode转码
String redirect_uri = URLEncoder.encode(WeixinConfig.REDIRECT_URI, “utf-8”);
System.out.println(“redirect_uri==” + redirect_uri);
url.append(“&redirect_uri=” + redirect_uri);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
url.append(“&response_type=code”);
url.append(“&scope=snsapi_userinfo”);
url.append(“&state=” + request.getSession().getId());
url.append(“#wechat_redirect”);
System.out.println(“url===” + url.toString());
// return “redirect:” + url.toString();
String s = url.toString();
response.sendRedirect(s);
}
返回说明
用户允许授权后,将会重定向到redirect_uri的网址上,并且带上code和state参数
第二步:通过code换取网页授权access_token