spring中方法级验证参数

本文介绍了如何在Spring中开启方法级验证,详细讲解了校验规则,包括JSR303和Hibernate验证注解的使用,如@NotNull、@Size等。此外,还讨论了异常处理,当遇到非法参数时如何捕获ConstraintViolationException。最后,简述了MethodValidationPostProcessor的工作原理,它是通过AOP和CGLIB实现的方法级参数验证。
摘要由CSDN通过智能技术生成

Spring中开启方法级验证

在spring中只需要注册了MethodValidationPostProcessor就能开启方法级验证,在调用方法时如果参数或返回值无法满足对应的限制就无法完成调用
下面以springboot项目为例。
首先在spring容器内放入MethodValidationPostProcessor

@SpringBootApplication
public class App {
    public static void main(String[] args) throws Exception {
        SpringApplication.run(new Object[]{App.class}, args);
    }

    @Bean
    public MethodValidationPostProcessor mvp(){
        return new MethodValidationPostProcessor();
    }
}

之后就可以开始方法级验证了

@RestController
@Validated
public class MyControler {
    @RequestMapping("/a")
    public @Size(min=1) String a(@Size(min=1) String a){
        return a;
    }
}

如上,首先需要加上Validated注解(spring4.3.2在类上加了有效,方法上加了无效),之后在方法的参数或返回值是哪个就可以加上对应的校验规则了

校验规则

spring支持jsr303以及hibernate中的校验规则
@AssertFalse 对应参数为false


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值