【发布时间】:2016-04-18 10:44:06
【问题描述】:
我有一个 Spring API,它允许用户使用如下视图参数指定每个调用的 JsonView:
/api/v1/person/1?view=viewName
然后我使用 Spring 的 MappingJacksonValue 动态设置正确的视图,而不是使用 @JsonView() 注释,最后我只返回 MappingJacksonValue 实例,该实例产生类似于
[
{ id: 1 },
{ id: 2 }
]
我一辈子都想不通如何轻松地将 MappingJacksonValue 实例包装在 ObjectNode 中,以便我可以将上面 sn-p 中的所有 API 结果更改为此
{
"data" : [
{ id: 1 },
{ id: 2 }
]
}
我尝试使用常规的 HashMap 但这不起作用 - 序列化完全忽略 MappingJacksonValue 视图,它还会产生特定于 Map 的结果
{
data: {
value: [],
serializationView: "com.blah.models.view.View$Id",
filters: null,
jsonpFunction: null
}
}
那么有人可以告诉我在我的场景中实现结果包装的最佳方法是什么吗?
提前致谢!
【问题讨论】:
标签: json spring jackson spring-web