Spring Boot-Bean Validation 2.0验证对象列表

时间:2018-09-26 10:34:09

标签: java spring-boot bean-validation

我正在使用springBoot 2,并且尝试通过以下方式验证列表中的对象:

@RequestMapping(value = "/bets",
    produces = {"application/json"},
    consumes = {"application/json"},
    method = RequestMethod.POST
)
void postBets(@RequestBody List<@Valid Bet> bets);

和Bet类在某些属性上具有@NotNull批注。

import javax.validation.constraints.NotNull;

public class Bet extends BetMessage {

@NotNull
private String categoryName;

@NotNull
private String marketName = null;

@NotNull
private OffsetDateTime startTime = null;

@NotNull
private String betName = null;

我还已将spring-boot-starter-validation工件添加到我的构建文件中,但仍未进行任何验证。

作为一种解决方法,我在下面的问题(ValidList类)中实现了流行的答案,并且验证按预期进行;但是我认为我缺少明显的东西,该解决方案现在已成为验证库的一部分。

Validation of a list of objects in Spring

1 个答案:

答案 0 :(得分:-1)

您可能想编写一个包含Bet列表的包装器,因为这样您的包装器将符合JavaBean规范并可以应用验证。

在这种情况下,下面的答案可能会有所帮助。

@Valid on list of beans in REST service