自定义注解校验
使用原生的@Validated
进行参数校验时,都是特定的注解去校验(例如字段长度、大小、不为空等),我们也可以用自定义的注解去进行校验,例如项目中的@Xss
注解。
1、新增Xss
注解,设置自定义校验器XssValidator.class
2、自定义Xss
校验器,实现ConstraintValidator
接口。
如果引入了Hutool工具类,可以如下:
3、实体类使用自定义的@Xss
注解
此时在去保存会进行验证,如果不符合规则的字符(例如<script>alert(1);</script>
)会提示登录账号不能包含脚本字符
,代表限制成功。
如果是在方法里面校验整个实体,参考示例。
自定义分组校验
有时候我们为了在使用实体类的情况下更好的区分出新增、修改和其他操作验证的不同,可以通过groups
属性设置。使用方式如下
新增类接口,用于标识出不同的操作类型
Controller.java
Model.java
提示
如果你有更多操作类型,也可以自定义类统一管理,使用方式就变成了Type.Add
、Type.Edit
、Type.Xxxx
等。
系统日志
在实际开发中,对于某些关键业务,我们通常需要记录该操作的内容,一个操作调一次记录方法,每次还得去收集参数等等,会造成大量代码重复。 我们希望代码中只有业务相关的操作,在项目中使用注解来完成此项功能。
在需要被记录日志的controller
方法上添加@Log
注解,使用方法如下:
注解参数说明
自定义操作功能
1、在BusinessType
中新增业务操作类型如:
/**
* 测试
*/
TEST,
2、在sys_dict_data
字典数据表中初始化操作业务类型
3、在Controller
中使用注解
操作日志记录逻辑实现代码LogAspect.java(opens new window)
登录系统(系统管理-操作日志)可以查询操作日志列表和详细信息。