所以我正在考虑为我的json视图添加约束。
我的课程类似于这个
public class Person {
@JsonProperty(required = true)
@NotNull
@Size(max = 50)
private String name;
}
我应该同时保留@JsonProperty(required = true)
和@NotNull
,还是应该删除一个以及为什么?
为了清楚,因为杰克逊2.6 @JsonProperty(required = true)
确实抛出exception。
我使用的是springfox-swagger,看起来当我删除@JsonProperty(required = true)
时,swagger中的字段被标记为可选字段,它不是。
我只是想知道这种情况下的最佳做法。
答案 0 :(得分:3)
在字段或方法上使用required
true
设置为required
时, Jackson将不会执行任何验证。有关详细信息,请参阅@JsonProperty
。
出于验证目的,请考虑来自Bean验证的documentation(执行验证需要验证提供程序,例如@NotNull
。)
使用Swagger,您还可以使用Hibernate Validator并将true
设置为-ExcludeVersion
,以表明字段是必填字段。