我们的 RESTful 应用程序需要支持“部分响应”以限制带宽。
我的意思是 REST 客户端告诉 URI 服务它对资源的哪些字段感兴趣。
例如:api/v1/users/123/fields=firstName,lastName,birthDate
我们正在使用 Jackson 解析器将我们的 DTO 转换为 JSON 结构。
问题是我们无法在运行时告诉“跳过”某些属性。
我们应该需要在运行时创建一个具有可变数量属性的类来实现这一点。但我认为这在 Java 中是不可能的,毕竟它是一种静态语言。
在搜索互联网时,我们通过返回包含请求的属性的 java.util.Map 或通过 Jackson 解析器过滤掉属性找到了一些半解决方案。
尤其是后者对我来说似乎是一种“黑客解决方案”。 Spring MVC 似乎没有为这个问题提供开箱即用的解决方案......
我们可以使用 Java 世界中的任何替代方法来解决这个问题吗?
最佳答案
怎么样Yoga
Yoga extends JAX-RS and SpringMVC RESTful servers to provide GData and LinkedIn style field selectors.
- Choose which fields you want to see at call-time
- Navigate entity relationships in a single call for complex views
- Much faster speeds in high-latency (e.g. mobile) apps
- Streamline client development
- Browsable APIs
关于json - Spring MVC 中的部分响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18172025/