接口防重复点击的方法

1.全局加锁,后续请求处于等待过程,被阻塞

2.使用redis实现,分为2种方式

单个接口

String jsonString = JSON.toJSONString(tradingSystem);
        String key = redisTemplate.opsForValue().get(jsonString);
        if(StringUtils.isNotBlank(key)) {
            LOGGER.info("重复提交拦截验证:{};", JSONObject.toJSONString(tradingSystem));
            return false;
        } else {
            System.out.println(11);
            redisTemplate.opsForValue().set(jsonString, jsonString, 30L, TimeUnit.SECONDS);
        }
        return true;

实现HandlerInterceptor接口,做全局拦截,获取相同的token,然后加密放入redis

         response.setHeader("Access-Control-Allow-Headers",
                "Origin,X-Requested-With,Accept,Authorization,authorization,accept,token");
        if (!(handler instanceof HandlerMethod)) {
            return true;
        }
        HandlerMethod handlerMethod = (HandlerMethod) handler;

Method method = handlerMethod.getMethod();

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值