Javax @NotNull注释用法

2022-09-03 07:53:01

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

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

我想使用Javax验证约束来确保传入的不是。但它似乎没有任何效果,因为我能够传入一个值,并且它向向存储库上的调用。我之前也添加了强制验证,但这也没有做任何事情。companyIdnullnullfindByCompany@Valid@NotNull

我总是可以写几行来检查一个值,但我想使用注释来使代码更具可读性和简洁性。有没有办法使注释在方法参数上工作?nulljavax.validation


答案 1

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

import org.springframework.validation.annotation.Validated;

答案 2

摘自 Java EE 6 教程:

Bean 验证模型由以注释形式放置在 JavaBeans 组件如受管 Bean)的字段、方法或类上的约束提供支持。

您应该对与声明的Bean相关的字段进行验证,如下所示:

@Entity
@Table(name="users")
public class BackgammonUser {

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private Long userId;

    @Column(name="username")
    @NotBlank
    private String userName;

    @NotBlank
    private String password;

    @NotNull
    private Boolean enabled;
}

西洋双陆棋用户被认为是一个豆子。


推荐