是否有一种方法可以根据Java中的预定义值验证JSON属性



是否有一种方法可以基于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。

(更好。

您可以在以下网址查找有关架构验证的更多信息:

相关内容

  • 没有找到相关文章

最新更新