我们的RESTful应用程序需要支持“部分响应”来限制带宽。 我的意思是,REST客户端告诉URI服务它感兴趣的资源的哪些字段。
例如:api / v1 / users / 123 / fields = firstName,lastName,birthDate
我们使用Jackson解析器将我们的DTO转换为JSON结构。 问题是我们无法在运行时告诉“跳过”某些属性。 我们应该需要在运行时使用可变数量的属性创建一个类来完成此任务。但我不认为这在Java中是可能的,毕竟它是一种静态语言。
在搜索互联网时,我们通过返回包含所请求属性的java.util.Map或者通过Jackson解析器过滤掉属性来找到一些半解决方案。 特别是后者对我来说似乎是一个“黑客解决方案”。似乎Spring MVC没有为这个问题提供开箱即用的解决方案......
我们可以使用Java世界中的任何替代方案来解决这个问题吗?
答案 0 :(得分:2)
Yoga扩展了JAX-RS和 SpringMVC RESTful服务器,以提供GData和LinkedIn风格的字段选择器。
- 选择您希望在通话时看到的字段
- 在复合视图的单个调用中导航实体关系
- 高延迟(例如移动)应用程序的速度要快得多
- 简化客户开发
- 可浏览的API