[微信官方文档](https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Get_access_token.html)
核心代码
private String getAccessTokenFromWx() {
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<AccessTokenResponse> forEntity = restTemplate.getForEntity("https://api.weixin.qq" +
".com/cgi-bin/token?grant_type=client_credential&appid=" + appId
+ "&secret=" + appSecret,
AccessTokenResponse.class);
logger.info("getAccessTokenFromWx_AccessTokenResponse:{}", JSON.toJSONString(forEntity));
AccessTokenResponse accessTokenResponse = forEntity.getBody();
if (accessTokenResponse == null || StringUtils.isBlank(accessTokenResponse.getAccessToken())) {
logger.error("getAccessTokenFromWx_error:获取accessToken出错");
return null;
} else {
String key = "wxAccessToken_";
stringRedisTemplate.opsForValue().set(key, JSON.toJSONString(accessTokenResponse));
}
return accessTokenResponse.getAccessToken();
}
包含的model
接收微信token的model:AccessTokenResponse.java
public class AccessTokenResponse extends BaseResponse{
private String accessToken;
private Long expiresIn;
public String getAccessToken() {
return accessToken;
}
public void setAccessToken(String accessToken) {
this.accessToken = accessToken;
}
public Long getExpiresIn() {
return expiresIn;
}
public void setExpiresIn(Long expiresIn) {
this.expiresIn = System.currentTimeMillis() + (expiresIn - 100) * 1000;
}
}
基础model:
public class BaseResponse implements Serializable {
private int errcode;
private String errmsg;
public int getErrcode() {
return errcode;
}
public void setErrcode(int errcode) {
this.errcode = errcode;
}
public String getErrmsg() {
return errmsg;
}
public void setErrmsg(String errmsg) {
this.errmsg = errmsg;
}
}
[项目地址](https://github.com/shengshengshengsheng/wx_card_demo.git)