基于springAop实现参数校验

本文介绍了一种通过Spring AOP和Java反射机制实现参数校验的方法,避免了传统方式中对每个接口编写校验工具类。首先定义了Verifys和Verify两个注解,然后创建切面ParameterVerify进行参数规则检查。通过测试,展示了如何校验必需的参数,并指出在开发中,Spring AOP可用于日志管理、接口监控、权限验证等场景,提高代码的优雅性,也是后端面试的常见知识点。
摘要由CSDN通过智能技术生成

在我们平时开发中经常需要对前端参数进行校验,很多人都是写一个CheckUtils,拿到前端的DTO后一个个进行判断,这篇博客主要是基于spring提供的aop功能和Java的反射机制实现切面参数校验,相对于对每个接口写一个校验工具类来说更为优雅。

1.首先我们来定义两个注解类Verifys和Verify

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface Verifys {
}

 

Verifys该注解用于方法上面,主要是为了使用aop

 

Verify该注解主要用于参数规则的定义,可以根据自己的需求去增删方法

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface Verify {

    /** 参数名称 */
    String name();

    /** 参数最大长度 */
    int maxLength() default Integer.MAX_VALUE;

    /** 是否必填 */
    boolean required() default false;

    /** 最小长度 */
    int minLength() default Integer.MIN_VALUE;

    /** 正则匹配 */
    String regular() default "";
}

2.定义切面ParameterVerify,利用反射实现对象属性的规则校验

@Component
@Aspect
public class ParameterVerify {
    @Before(value=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值