javajson模式与继承
我在json模式上搜索了带有继承的java绑定,所有搜索都让我找到了“allOf”的用法
使用allOf可能会解决我的问题,但我想知道在json模式中是否有一个构造,我可以使用它来生成具有真正java继承“B扩展a”的java代码,而不是将所有属性从a内联到B
我想知道这是否得到支持/可行,或者我只是在做梦。如果得不到支持,我很想知道原因
你可以在下面搜索框中键入要查询的问题!
我在json模式上搜索了带有继承的java绑定,所有搜索都让我找到了“allOf”的用法
使用allOf可能会解决我的问题,但我想知道在json模式中是否有一个构造,我可以使用它来生成具有真正java继承“B扩展a”的java代码,而不是将所有属性从a内联到B
我想知道这是否得到支持/可行,或者我只是在做梦。如果得不到支持,我很想知道原因
# 1 楼答案
您有3个选项,我使用的是jsonschema2pojo:1.0.0-alpha2
或者
或者
# 2 楼答案
好吧,我是这两本书的作者:
所以我可以回答你的问题,基本答案是否定的
为什么?因为目前还没有定义模式继承
使用
allOf
时,需要allOf
中的所有模式都匹配;如果您对这个或那个JSON中可能存在的内容要求严格,那么您将在false
中添加additionalProperties
。因此,你不能继承真正的解决方案是我为v5草案提出的一种机制:
$merge
和$patch
关键字。这将允许使用RFC 7386或RFC 6902(更多信息,请参见here)修补模式,并实现模式继承简而言之:
additionalProperties
设置为false
,并且基本的JSON是一个对象,则无法定义其他对象成员李>