如何使用JSON Schema或Jsonschema2pojo插件标记为某些属性?有时我确实会收到这些属性,有时我没有。
这是我的例外:
com.fasterxml.jackson.databind.exc.Exc.unRecognized propertyexception:未识别的字段"警告"(com.xyz.music.music.napsster.v2.metadata.metavo("总数"]( 在[来源:okhttp3.Responsebody$ bomawarereader@49f94818;线:1,列:15846](通过参考链:com.xyz.music.napster.v2.metadata.metadata.playlistsrissponsevo [" meta"] -> com.xyz.music.naps.v2.metadata.metadata.metavo ["警告"](
这是我的MetaVO
类架构
{
"properties": {
"returnedCount": {
"type": "integer"
},
"totalCount": {
"type": "integer"
}
},
"type": "object"
}
目前我发现,如果我在 MetaVO
class上设置以下注释
@JsonIgnoreProperties(ignoreUnknown = true)
我的问题得到了解决。
但是,这些类是由插件自动生成的(并且根据我们的项目规格,它们必须留下来(。
(。可以从JSON Schema或Jsonschema2pojo插件中执行此类操作吗?
我通过从杰克逊 - 连接器转换为gson-converter来解决问题。
在jsonschema2pojo中,这些属性可以从用于生成pojos的JSON或JSONSCHEMA中删除。
当它们在JSON中检索时,它们将被估算并添加到POJO的Map<String, Object> additionalProperties
字段中。默认情况下创建了其他Properties字段。确保它不是禁用的架构"additionalProperties": false