嵌套对象的Spring注释验证和索引

时间:2016-12-30 15:49:41

标签: java spring-mvc bean-validation

在Spring MVC中,我注释了我的父Dto和带有bean验证注释的子Dto列表,如下所示:

class ParentDto {
  @NotBlank
  private String parentName;
  @Valid
  private Set<ChildDto> childList;
  //getter and setter
}

class ChildDto {
  @NotBlank
  private String childName;
  //getter and setter
}

如果其中一个子对象中的childName为空,则spring返回如下所示的错误消息,而不包含子对象的索引:

[{"errorCode":"NotNull","field":"parentDto.childList[].childDto ","message":"may not be null"}]

如何启用spring以返回带索引的消息(告诉哪个孩子有问题),如下所示:

[{"errorCode":"NotNull","field":"parentDto.childList[1].childDto ","message":"may not be null"}]

1 个答案:

答案 0 :(得分:0)

我找出了错误消息中缺少索引的原因。由于我使用Set而不是List来收集子对象,因此它无法对其进行索引。一旦更改为列表,它就可以正常工作。