是否有一种方法可以基于JAVA中的预定值验证JSON属性?
for ex:
{
"operation": "ONE"
}
仅允许的操作值是一,二,三。因此,在JSON层中,我们希望验证此操作属性,如果请求除上述任何值以外的其他值,我们都希望拒绝它。有什么JSON注释可以实现这一目标吗?
使用的库:fastxml jackson
预先感谢。
可能有两种可能的方法:首先,您可以使用@jsonproperty,但是为此,您需要添加@jsoncreator或自定义构造函数。
否则,您可以简单地使用Jackson Schema验证。创建一个架构。JSON并验证针对模式的每个传入输入:
{
"operation": {
"type":"string",
"required":true,
"enum":["ONE","TWO","THREE"]
}
}
这比处理引起的例外(即JSONMAPPEDEXEPCEPTION和JACKSON的未识别propertyexception。
(更好。您可以在以下网址查找有关架构验证的更多信息: