SpringBoot项目防止重复提交表单(防抖机制)插件

基于Spring Boot 的防止重复提交表单(防抖机制)插件

项目背景

基于RuoYi快速开发框架抽取出来的后端防抖业务,封装成jar包,达到快捷方便的目的。

注意:只有当URI和参数都不同时才会触发防抖,传参形式支持表单和JSON格式。

快速开始

第一步:添加maven依赖

	<dependency>
	  <groupId>io.github.weizhenyu0310groupId>
	  <artifactId>repeat-submit-spring-boot-starterartifactId>
	  <version>1.0.0-SNAPSHOTversion>
	dependency>

如果maven依赖加载失败,可以尝试本地添加,点我下载

第二步:增加配置

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,点我传送

你可能感兴趣的:(java,spring,spring,boot,java,后端)