我使用标准的Spring MVC框架的3倍,并有我的模型实体都建立了所有的好东西的关系(javax.persistence API)......我的DB集成。JSON对象VS弹簧模型对象
随着应用的发展,我们需要支持JSON调用。
鉴于我在我的模型实体层映射出的各种关系,
(classX->优雅以及classY-> classX)
我想知道最好的做法是什么将这些模型类中的一些转换为适当的JSON对象而不会有重复的引用?
如:样品车响应
{"classX":{"id":"1", "classY":{"id":"2", "classX":{"id":"1", "classY":{"id":"2"...
我考虑了几个方法的,我不会介意的反馈...
保留现有的模型类,并设置交叉关系在将其放入我的ModelMap之前为NULL,因此不会有某种形式的重新引用(我认为它是HACK)
{"classX":{"id":"1", "classY":{"id":"2", "classX":null}}}
重新创建JSON类相似,而无需再引用类的现有模式(但我认为这意味着他们不会为可重用......因为我最终将只具有classX->优雅而不是倒退,如果我想钻另一种方式进行数据响应)。
{"jsonClassX": {"id":"1", "jsonClassY":{"id":"2"}}}
只需简单地构建它作为标准ModelMap映射每个控制器的呼叫。作为这种不可重复使用JSON类的概念,并且是依赖于方式控制器构建体和组织的返回值。这似乎是最简单的,但它意味着没有可重用的代码(除了剪切和粘贴)...
{"x":{"id":"1", "y":{"id":"2"}}} // for controller call 1 {"y":{"id":"2", "x":{"id":"1"}}} // for controller call 2
因此,这些都是我与此刻杂耍的选项,我不会介绍一些反馈意见,并提供一些关于其他人如何做的指示。
这是直接来自第三方库,如杰克逊,还是来自您自己的翻译代码? – atrain
@AaronSheffey嗨,它只是标准的Spring配置的东西 '公共地图@ResponseBody <字符串,?扩展Object> ...' – alwinc