是否有一种方法可以基于java中预定义的值来验证json属性?
前任:
{
"operation": "ONE"
}
仅允许操作的值为1、2、3。因此,在JSON层中,我们希望验证该操作属性,如果请求中的值不是上述任何值,我们希望拒绝它。是否有任何JSON注释来实现这一点?
使用的库: Fasterxml Jackson
提前谢谢。
发布于 2018-02-12 21:35:24
可以有两种可能的方法:首先,可以使用@JsonProperty,但为此需要添加@JsonCreator或自定义构造函数。
否则,您可以简单地使用Jackson模式验证。创建一个schema.json并根据模式验证每个传入输入,例如:
{
"operation": {
"type":"string",
"required":true,
"enum":["ONE","TWO","THREE"]
}
}
这比处理杰克逊提出的例外情况(如JsonMappingException和UnrecognizedPropertyException )要好。
您可以在:http://wilddiary.com/validate-json-against-schema-in-java/上查找有关架构验证的更多信息。
https://stackoverflow.com/questions/48759796
复制相似问题