检验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封装好的实现。这两个注解就可以帮助我们效验参数。
详细的请看下面这几篇文章:
@Validated和@Valid区别:Spring validation验证框架对入参实体进行嵌套验证必须在相应属性(字段)加上@Valid而不是@Validated