有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java应该在同一个对象中使用@NotNull和@JsonProperty(必需的)

因此,我正在考虑向json视图添加约束

我有一门和这门课相似的课

public class Person {
    @JsonProperty(required = true)
    @NotNull
    @Size(max = 50)
    private String name;
}

我应该同时保留@JsonProperty(required = true)@NotNull还是删除一个,为什么


只是想澄清一下,因为Jackson 2.6@JsonProperty(required = true)确实抛出了一个exception

我使用的是springfox swagger,当我删除@JsonProperty(required = true)时,swagger中的字段被标记为可选字段,而不是可选字段

我只是想知道这种情况下的最佳做法


共 (1) 个答案

  1. # 1 楼答案

    在字段或方法上使用^{}并将required设置为true时,Jackson不会执行任何验证。有关更多详细信息,请参见documentation


    为了验证的目的,从bean验证中考虑^{}(需要验证提供者,如Hibernate Validator来执行验证)。

    使用Swagger,还可以使用^{}并将required设置为true以指示字段是必需的