SpringBoot项目防止重复提交表单(防抖机制)插件
作者:快盘下载 人气:基于Spring Boot 的防止重复提交表单;防抖机制;插件
项目背景
基于RuoYi快速开发框架抽取出来的后端防抖业务;封装成jar包;达到快捷方便的目的。
注意;只有当URI和参数都不同时才会触发防抖;传参形式支持表单和JSON格式。
快速开始
第一步;添加maven依赖
<dependency>
<groupId>io.github.weizhenyu0310</groupId>
<artifactId>repeat-submit-spring-boot-starter</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
第二步;增加配置
repeatsubmit:
# 开启防抖。默认true
enable: true
# 过期时间;单位秒。默认5
expire-time: 5
第三步;使用注解;RepeatSubmit
;RepeatSubmit
;PostMapping(;/save;)
public String save(User user) {
dao.save(user);
return ;success;;
}
扩展
自定义response
插件默认返回response数据如下;
response code : 400
response body : 您提交了重复的数据
如果需要返回自定义数据;可以在异常处理器中捕获RepeatSubmitException;返回自定义response
/**
* 全局异常处理器
*/
;ControllerAdvice
public class GlableExceptionHandler {
/*
* 捕获RepeatSubmitException;返回自定义response
*/
;ExceptionHandler(value = RepeatSubmitException.class)
public ? handleRepeatSubmitException(RepeatSubmitException e){
return ?;
}
}
源码已上传github;点我传送
加载全部内容