事情要从校验入参属性提及,若是入参有几十个须要校验非空,若是写一堆的ifelse岂不难受,这时候咱们就能够借鉴hibernate-validatorhibernate-validator框架来校验参数的非空性。web
首先咱们添加以下依赖:spring
<!-- https://mvnrepository.com/artifact/org.hibernate.validator/hibernate-validator --> <dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator</artifactId> <version>6.0.2.Final</version> </dependency>
接下来咱们给入参的bean添加非空判断的注解:app
而后在在方法参数接收vo上加上@Valid :框架
来 咱们测试下呢:测试
不对 ,咱们还得写一个全局的异常处理控制:.net
大概是这样子的:hibernate
好 测试下:blog
emmmmm 为何 明明是MethodArgumentNotValidException,结果却走错屋了,what happend?get
周五下午搞了一个多小时 仍是没解决 让同事看了 也没搞好,放弃吧。。。。it
结果这周一来了 没要十分钟,问题找着了,像个六百斤的大胖子那么开森
定睛一看 发现不是一个包下的 赶忙换成
import org.springframework.web.bind.MethodArgumentNotValidException;
好了 问题解决了 ,至于为何,你说呢?