resttemplate get请求 token_RestTemplate设置固定的url参数

在使用RestTemplate请求三方接口时:三方接口一般都要求在url后面拼接上固定的几个参数,一般如accessToken进行权限校验。而我们在开发时,请求这些地址,如何避免在url拼接accessToken这种重复固定的编码操作呢。

方法当然有很多,本文提供一种通过反射偷梁换柱的写法来实现。

  • 以微信小程序服务端接口请求作为请求对象。
    • 微信小程序要求在请求时带上?accesss_token=ACCESS_TOKEN
323ec6c4061a24f2cca3ee61b624a1bb.png
image.png

如何实现..?

# 基础配置

  • 微信小程序配置类

/**
 * 微信小程序配置类
 *
 * @author futao
 * @date 2020/10/29
 */
@ConfigurationProperties(prefix = WxMiniProgramProperties.PROPERTY_PREFIX)
public class WxMiniProgramProperties {

    /**
     * 微信小程序配置前缀
     */
    public static final String PROPERTY_PREFIX = Consts.System.FRAMEWORK_BASE_NAME + "." + Consts.WxMiniProgram.WX_MINI_PROGRAM_BASE_NAME;

    /**
     * AppID(小程序ID)
     */
    private String appId;

    /**
     * AppSecret(小程序密钥)
     */
    private String appSecret;

    public String getAppId() {
        if (StringUtils.isBlank(appId)) {
            throw new WxMiniProgramException("微信小程序AppId未设置");
        }
        return appId;
    }

    public void setAppId(String appId) {
        this.appId = appId;
    }

    public String getAppSecret() {
        if (StringUtils.isBlank(appSecret)) {
            throw new WxMiniProgramException("微信小程序AppSecret未设置");
        }
        return appSecret;
    }

    public void setAppSecret(String appSecret) {
        this.appSecret = appSecret;
    }
}
  • 获取微信小程序accessToken

/**
 * 微信小程序AccessToken
 *
 * @author futao
 * @date 2020/10/29
 */
@Slf4j
@Service
public class AccessTokenServiceImpl implements AccessTokenService {

    @Autowired
    private StringRedisTemplate redisTemplate;

    @Autowired
    private WxMiniProgramProperties wxMiniProgramProperties;

    /**
     * 获取token
     *
     * @return token
     */
    @Override
    public String get() {
        String redisAccessToken = redisTemplate.opsForValue().get(RedisKeyConsts.WxMiniProgram.WX_ACCESS_TOKEN);
        if (StringUtils.isBlank(redisAccessToken)) {
            //无缓
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值