检验controller的入参是否符合我们的规范,@Valid与@Validated

  • 2019 年 11 月 13 日
  • 筆記

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_43126117/article/details/103038029

我们编写Controller层时,经常需要前端传入 参数,我们使用@BodyRequest填充为我们需要的对象。但是这个填充的过程,需要效验这些参数是否合法,如:手机号码21234567890 明明不合法的,通过http的客户端传入此类非法请求,前端过滤不了的,所以需要我们后端再次进行过滤。

@RequestBody注解用于读取http请求的内容(字符串),通过springmvc提供的HttpMessageConverter接口将读到的内容(json数据)转换为java对象并绑定到Controller方法的参数上。

@Valid为标准JSR-303规范,@Validated是spring封装好的实现。这两个注解就可以帮助我们效验参数。

详细的请看下面这几篇文章:

使用spring validation完成数据后端校验

@Validated和@Valid区别:Spring validation验证框架对入参实体进行嵌套验证必须在相应属性(字段)加上@Valid而不是@Validated