【发布时间】:2016-11-16 08:45:10
【问题描述】:
我已经用 springMVC+Jackson+hibernate 实现了一些 REST API。 我需要做的就是从数据库中检索对象,将其作为列表返回,到 JSON 的转换是隐式的。
但是有一个问题。如果我想在返回/响应之前向这些对象添加更多信息。例如,我要返回“商店”对象的列表,但我想添加现在正在参加的人的姓名。 JAVA 没有动态类型(我如何在 C# 中解决这个问题)。那么,我们如何在 JAVA 中解决这个问题呢?
我想过这个问题,并想出了一些不太优雅的解决方案。 1.使用工厂模式,定义另一个包含该人姓名的类。 2. 将对象隐蔽存储为JSON对象(来自jackson的ObjectNode),将新属性放入json对象,返回json对象。 3.使用反射注入新的属性来存储对象,返回对象,也许SpringMVC转换会正确生成JSON?
选项 1 看起来很糟糕,最终会产生很多没有真正用处的样板类。选项 2 看起来不错,但这是我们可以用 springMVC 做的最好的事情吗?
【问题讨论】:
标签: java json rest spring-mvc