Java 验证POJO中的JSON
使用POJO中的注释验证JSON的最佳/首选方法是什么? 我希望能够区分POJO的可选字段和必填字段。 我希望能够为POJO的必填字段提供默认值 例如:Java 验证POJO中的JSON,java,json,Java,Json,使用POJO中的注释验证JSON的最佳/首选方法是什么? 我希望能够区分POJO的可选字段和必填字段。 我希望能够为POJO的必填字段提供默认值 例如: @JsonTypeInfo(use=Id.NAME, include = As.WRAPPER_OBJECT) @JsonTypeName("Foo") public class MyClass{ @JsonProperty private String someOptionalField; @JsonProperty
@JsonTypeInfo(use=Id.NAME, include = As.WRAPPER_OBJECT)
@JsonTypeName("Foo")
public class MyClass{
@JsonProperty
private String someOptionalField;
@JsonProperty
private String someRequiredField;
@JsonProperty
private String someRequiredFieldThatIsNotNull;
@JsonProperty
private int someRequiredFieldThatIsGreaterThanZero;
// etc...
}
一种可能的方法是将JSON反序列化为对象,并使用validation API@MattBall linked验证对象。其优点是,此逻辑与存储逻辑分离,您可以自由更改存储逻辑,而无需重新实现验证
如果要验证JSON,您可能需要查看一下。谢谢!这应该是个小把戏,没什么意义。为什么要在POJO本身中验证这些属性?验证应该由适当的验证API来处理,这些API与应用程序的其他部分松散耦合,如果任何约束失败,则会阻止进一步的处理。