Javax验证@NotNull注释用法

sis*_*red 9 java spring spring-boot

我有一个简单的方法来获取给定的文档列表companyId.这是方法:

@Override
public List<Documents> getDocumentList(@NotNull Integer companyId) {
    Company company = new Company(companyId);
    return this.documentRepository.findByCompany(company);
}
Run Code Online (Sandbox Code Playgroud)

我想使用Javax验证约束来确保companyId传入,不是null.但它似乎没有任何影响,因为我能够传入一个null值,它会向下传递到findByCompany存储库上的调用.我@Valid之前也添加@NotNull了强制验证,但这也没有做任何事情.

我总是可以编写几行来检查null值,但是想使用javax.validation注释来使代码更具可读性和简洁性.有没有办法让注释适用于方法参数?

sis*_*red 6

要激活参数验证,只需使用注释类 @Validated

import org.springframework.validation.annotation.Validated;
Run Code Online (Sandbox Code Playgroud)

  • 如果我不使用弹簧怎么办? (3认同)