我们的RESTful应用程序需要支持“部分响应”以限制带宽。这意味着REST客户端告诉URI服务它感兴趣的资源字段是哪些。
例如:api/v1/users/123/fields=firstName,lastName,birthDate 我们使用Jackson解析器将我们的DTO转换为JSON结构。问题在于我们无法在运行时告诉它要“跳过”一些属性。我们需要创建一个具有可变数量属性的类才能实现此目的。但我不认为这在Java中是可能的,毕竟它是静态语言。
在搜索互联网时,我们发现了一些半解决方案,只需返回包含请求属性的java.util.Map或通过Jackson解析器过滤出属性。特别是后者似乎是一种“黑客解决方案”。似乎Spring MVC没有针对此问题提供开箱即用的解决方案...
在Java世界中是否有任何替代方案可用于解决此问题?
例如:api/v1/users/123/fields=firstName,lastName,birthDate 我们使用Jackson解析器将我们的DTO转换为JSON结构。问题在于我们无法在运行时告诉它要“跳过”一些属性。我们需要创建一个具有可变数量属性的类才能实现此目的。但我不认为这在Java中是可能的,毕竟它是静态语言。
在搜索互联网时,我们发现了一些半解决方案,只需返回包含请求属性的java.util.Map或通过Jackson解析器过滤出属性。特别是后者似乎是一种“黑客解决方案”。似乎Spring MVC没有针对此问题提供开箱即用的解决方案...
在Java世界中是否有任何替代方案可用于解决此问题?
Map
并不是一个坏主意。 - soulcheck