java 使用@Validated如何校验List<类对象>的属性
时间: 2024-02-23 12:59:59 浏览: 36
您可以使用`@Valid`注解来校验`List`内部的类对象。下面是一个基本的示例:
```java
public class MyClass {
@Size(min = 1, max = 10, message = "姓名长度必须在1到10之间")
private String name;
// getter and setter
}
public class MyRequest {
@NotEmpty(message = "列表不能为空")
@Valid
private List<MyClass> myList;
// getter and setter
}
```
在上面的示例中,`@Valid`注解用于标记需要校验的`List`对象,而`@NotEmpty`注解用于检查列表是否为空。此外,您还可以在`MyClass`类的属性上添加其他校验注解,例如`@Size`,用于检查`name`属性的长度是否在1到10之间。
在实际使用中,您需要在`Controller`层的方法参数上添加`@Validated`注解,以启用校验:
```java
@RestController
@Validated
public class MyController {
@PostMapping("/my-api")
public void myApi(@RequestBody @Valid MyRequest request) {
// 处理请求
}
}
```
在上面的示例中,`@RequestBody`注解用于将HTTP请求正文解析为`MyRequest`对象,而`@Valid`注解用于标记需要校验的请求对象。`@Validated`注解用于启用校验功能。
希望这可以帮助您解决问题!