【Validation】@Validated和@Valid的区别和使用

概述

  1. @Valid是JSR303声明的,Hibernate validation对其进行实现
  2. @Validated是只用Spring Validator校验机制使用

区别

注解位置

@Validated:用在类型、方法和方法参数上。但不能用于成员属性(field)
@Valid:可以用在方法、构造函数、方法参数和成员属性(field)上

分组校验

@Validated 提供分组功能

组序列

@Validated 提供

嵌套校验

@Valid支持

使用

  1. 批量操作,批量数量控制,对象校验
@RequestMapping(value = "/agent/deploy",method= RequestMethod.POST)
public ApiResult batchDeploy(@Valid @RequestBody @Size(min = 1,max = 20,message = "可选择的批量操作范围在1~20") AgentDeployDto[] dtos) {
      ...
}

参考

Springboot @Validated和@Valid的区别 及使用

posted @ 2020-10-20 18:12  zendwang  阅读(699)  评论(0编辑  收藏  举报