Springboot请求对象验证

时间:2018-06-26 10:19:11

标签: java rest spring-boot bean-validation spring-restcontroller

我有一个请求对象

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;

 }

,我想验证每个请求对象的详细信息是否不为null或不为空。

  

javax.validation.constraints.NotNull

为控制器类添加

@valid注释

  

@有效@RequestBody最终OrderRequest               orderRequest

但是它似乎不起作用。我在这里想念什么?

1 个答案:

答案 0 :(得分:1)

您还应该按如下方式注释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;
}