0

我正在使用 JMSSerializer 和 FOSRestBundle。我有一个相当典型的对象图,包括一些递归。

我想要完成的是超出一定深度的包含对象或通常仅列出其 ID,但当直接序列化时,会列出所有数据。

因此,例如:用户 => 组 => 用户

请求 /user/1 时,结果应该类似于

{ "id": 1, "name": "John Doe", "groups": [ { "id": 10 }, { "id": 11 } ] }

当我请求 /group/10 时,它将是:

{ "id": 10, "name": "Groupies", "users": [ { "id": 1 }, { "id": 2 }, { "id": 4 } ] }

使用@MaxDeph 我可以完全隐藏包含的数组,所以我得到 { "id": 1, "name": "John Doe", "groups": [] }

但是我想只包含 ID,以便 REST 客户端可以在需要它们时获取它们,或者查阅他的缓存,或者做任何事情。

我知道我可以使用组手动将其拼凑在一起,但出于一致性原因,我想知道是否可以在整个应用程序中以某种方式启用此行为,甚至可能使用对 maxdepth 的引用,这样我就可以控制在哪里包含 ID 以及在哪里包含完整的对象?

4

1 回答 1

0

为了那些发现这一点的人:

我没有找到其他解决方案,但是对组进行此操作效果很好,并且给了我想要的结果。

于 2015-06-23T10:15:54.890 回答