类的构造函数参数是否也应该使用 Java Bean Validation API 注释进行注释?



如果我有一个类,其字段正在使用Java Bean Validation API进行验证,那么构造函数参数是否也应该具有字段具有的注释?

例如 变量

@NotNull
@Size(min=5, message = "Name must be at least 5 characters long")
private String name;
//Constructor
public SomeClass(@NotNull @Size(min = 5, message = "Name must be at least 5 characters long") String name) {
this.name = name;
}

我想验证将在初始化后在字段"名称"上进行。我们也需要检查参数吗? 谢谢。。。

我认为这取决于您将在哪里验证此类。

如果要验证此类的已创建实例(例如,在方法或@Controller终结点中作为参数传递(,只需使用字段级注释。

如果要在创建实例之前验证构造函数的参数,则需要验证构造函数参数。

最新更新