json - Spring MVC 中的部分响应

标签 json rest spring-mvc

我们的 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/

相关文章:

java - 如何使用 Servlet 3.0 注释配置(或 Spring)设置 JSP 页面编码?

json - ConvertFrom-Json 返回 "Cannot process argument because the value of argument "名称“无效”。

mysql - 在 MySQL 中使用 Json 键值对对象查找和替换字符串

c# - ScriptIgnore 元数据

java - 使用 Spark 框架发送帖子

c# - WEB API & BL关系

Django REST框架: Create/Update object using Related Field

php - 带有 php 或 python 属性的 xml 到 json

java - 登录后自定义区域设置重定向 - Spring Security

java.lang.ClassNotFoundException : org. springframework.web.servlet.DispatcherServlet 错误