验证对象集合

问题描述 投票:0回答:1

我正在编写一个应用程序的后端部分,我想在其中实现接受和验证列表中每个对象的能力。

我知道两个注释可以做到这一点:

  • @Valid 很好,但我需要使用它来传递用于验证的组的名称(某些类具有用于添加和更新数据的特定实现);
  • @Validated - 接受组,但不验证每个压缩对象。 Spring Boot 中是否有任何设置可以强制 @Validated 验证列表中的每个对象?

这是示例代码:

public ResponseEntity<List<Response>> addStream(
    @Validated(InsertRequest.class) @RequestBody List<FacultyRequest> requests,
    Principal principal
) {
    var response = service.addValue(requests, principal.getName());
    return ResponseEntity
            .status(HttpStatus.CREATED)
            .body(response);
}
spring-boot list spring-restcontroller spring-validation
1个回答
0
投票

指定 @Valid 注释应使用哪个组的选项是使用 @ConvertGroup 注释来使用您自己的组而不是默认组。

public ResponseEntity<List<Response>> addStream(
        @RequestBody List<@Valid @ConvertGroup(to = InsertRequest.class) AudienceRequest> requests,
        Principal principal
) {
    var response = service.addValue(requests, principal.getName());
    return ResponseEntity
            .status(HttpStatus.CREATED)
            .body(response);
}
© www.soinside.com 2019 - 2024. All rights reserved.