在REST中优化混合API有效负载

时间:2015-12-23 20:50:23

标签: java rest serialization gson spark-java

我觉得这是一个标准的问题,有明确的最佳实践,但由于某种原因找不到它们:)。

我们有一个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,但我希望有更好的方法。

1 个答案:

答案 0 :(得分:0)

由于您提到了GSON,因此您应该使用ExclusionStrategy