Spring Boot 请求对象验证

Springboot request object validation

我有一个请求对象

public class OrderRequest {

    private List<Details> detailsList;

 }

 public class Details{
    Private String id;

    private List<Detail> detailList;

 }


  public class Detail{

    @NotNull(message = "Please provide the inventory name")
    Private String inventoryName;

    Private String inventoryId;

    Private String inventoryLoc;

 }

并且我想验证每个请求对象的详细信息是否为非空或非空。

javax.validation.constraints.NotNull

为控制器添加了@valid注解class

@Valid @RequestBody final OrderRequest orderRequest

但是好像不行。我在这里错过了什么?

您还应该如下注释您的 OrderRequest(在 Bean Validation 2.0 的情况下):

public class OrderRequest {
    private List<@Valid Details> detailsList;
}

或者,如果您使用的是较旧的 Bean Validation 1.1,则应将 `@Valid 放在列表之前:

public class OrderRequest {
    private @Valid List<Details> detailsList;
}