怎么使用@Validated校验请求获得的数组中的每一个对象的属性的有效性
时间: 2024-03-20 10:40:02 浏览: 72
在 Spring Boot 中,我们可以使用 @Validated 注解和 Bean Validation 的注解来校验请求参数的有效性,包括数组中每一个对象的属性。下面是一个示例代码:
首先,我们需要在 Controller 中使用 @Validated 注解来启用参数校验:
```java
@RestController
@RequestMapping("/example")
@Validated
public class ExampleController {
// ...
}
```
然后,我们可以在 Controller 的方法中使用 @RequestBody 注解和 Bean Validation 的注解来校验请求参数的有效性,如下所示:
```java
@PostMapping("/array")
public ResponseEntity<?> handleArrayRequest(@RequestBody @Validated ExampleRequest[] requests) {
// ...
}
```
在上面的示例中,我们使用 @RequestBody 注解来将请求体转换为 ExampleRequest 类型的数组,然后使用 @Validated 注解和 ExampleRequest 类中的注解来校验每一个对象的属性的有效性。如果请求中的某个对象的属性无效,校验框架会抛出 ConstraintViolationException 异常,我们可以在异常处理器中对其进行处理。
需要注意的是,@Validated 注解只能用于方法参数上,不能用于类上。同时,如果我们要校验嵌套的对象,需要在嵌套对象的属性上添加相应的 Bean Validation 注解,比如 @NotNull、@Size 等。
阅读全文