【发布时间】:2021-02-26 00:50:00
【问题描述】:
为了解释我的问题,假设我正在检索以下 OData V2 实体:
{
"d": {
"EmployeeID": 1,
"LastName": "Davolio",
"FirstName": "Nancy",
"Orders": {
"results": [
{
"OrderID": 10258
}
]
},
"Territories": {
"results": [
{
"TerritoryID": "06897"
}
]
}
}
}
而且我有对应的模型类:
@JsonRootName(value = "d")
public class Employee {
@JsonProperty("EmployeeID")
private int employeeId;
@JsonProperty("LastName")
private String lastName;
@JsonProperty("FirstName")
private String firstName;
@JsonProperty("Orders")
private List<Order> orders;
@JsonProperty("Territories")
private List<Territory> territories;
...
}
正如预期的那样,异常 com.fasterxml.jackson.databind.exc.MismatchedInputException 被触发,因为“Orders”和“Territories”集合实际上在属性“results”内,正如 OData V2 所述。
你们知道如何忽略嵌套的“结果”属性并立即获取列表吗? 在这种情况下真的需要自定义反序列化器或包装器类吗?
谢谢!
【问题讨论】: