【发布时间】:2013-08-12 21:08:55
【问题描述】:
我们的 RESTful 应用程序需要支持“部分响应”来限制带宽。 我的意思是 REST 客户端告诉 URI 服务它对资源的哪些字段感兴趣。
例如:api/v1/users/123/fields=firstName,lastName,birthDate
我们正在使用 Jackson 解析器将 DTO 转换为 JSON 结构。 问题是我们不能在运行时告诉“跳过”某些属性。 我们应该需要在运行时创建一个具有可变数量属性的类来实现这一点。但我认为这在 Java 中是不可能的,毕竟它是一种静态语言。
在搜索互联网时,我们通过返回包含请求的属性的 java.util.Map 或由 Jackson 解析器过滤掉属性找到了一些半解决方案。 尤其是后者对我来说似乎是一个“黑客解决方案”。看来 Spring MVC 并没有为这个问题提供开箱即用的解决方案……
我们可以使用 Java 世界中的任何替代方法来解决此问题吗?
【问题讨论】:
-
通常发送
Map也不错 -
特别是因为由一些选定字段组成的实体并不代表您域中的任何具体内容
标签: json rest spring-mvc