问题:我有一个请求正文,其中有一个预定义的 POJO 类,在该类中我需要添加另一个对象作为参数。这个新对象在给定时间可能具有随机属性/属性/参数。我怎样才能实现这个目标?
{
"id": "{{id}}",
"enableTouchId": true,
"idleLogoutMinutes": 10,
"platformSpecificPreferences": {
"ios": {
"terms": "1234",
"privacy": "12345"
},
"web": {
"terms" : "abc"
},
"android": {
"newProperty" : "newValue"
}
}
}
因此,我尝试添加的新对象是 platformSpecificPreferences,当使用其余调用命中时,它可能具有也可能不具有此处显示的所有属性,这就是为什么我无法将重新定义的 POJO 类用于 platformSpecificPreferences 并创建其对象。
我尝试过的解决方案: 我想到在请求正文中使用 JsonObject,这使得
@JsonProperty("platformSpecificPreferences")
private JsonObject platformSpecificPreferences;
但问题是,我无法访问 api,因为它不接受此参数并给出 404。
提前致谢。
最佳答案
您可以使用,kind 必须是 platformSpecificPreferences 的预定义 pojo,但在 pojo 中您需要忽略其余调用中未给出的值!
您可以在类上方的 Pojo 中使用 json 注释来完成此操作:@JsonIgnoreProperties(ignoreUnknown = true)。
关于java - 在现有模型对象内传递对象,其中新对象参数未定义并且可能会更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48419643/