我觉得这是一个标准问题,具有明确定义的最佳实践,但由于某种原因找不到它们:)。
我们有一个 REST API 服务器(返回 JSON 对象的 Spark)架构。目前,当客户端请求资源时,我们会序列化该对象及其拥有的所有对象。我想根据它发出的请求优化有效载荷。这意味着仅序列化 UI 所需的字段。
例如:
<GET> /users/<userId> - return all the user with Address object
<GET> /users - return all the users with out the Address (just the top level)
<GET> /transactions/<businessId> - returns all the transactions with User object that contains only the userId and the user name.
我熟悉标记字段,transient
但我正在寻找比这个更细粒度的东西。
我想到的一个选择是每次调用都使用com.google.gson.TypeAdapter,但我希望有更好的方法来做到这一点。