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();