【发布时间】:2016-05-13 23:58:27
【问题描述】:
我们有一个前端服务,它使用后端服务来获取 Metric 对象的列表。我们为后端服务编写了一个 Java ClientSDK,以简化该服务的客户端应用程序的开发。
我们还公开了来自前端服务的指标列表。目前,我们直接公开后端 Metric 对象并将其转换为 JSON。
我担心的是,如果对后端 Metric 对象进行了更改(例如开发人员添加了一个新的秘密 ID 字段),我们不想将其从前端服务中公开。
我们还在为前端服务编写 clientSDK。我们不想从后端 clientSDK 中引用 Metric 类,所以合乎逻辑的选择是在前端 SDK 中定义一个类似的 Metric 对象。
我不想浪费 CPU 周期将 1000 个指标从一个类定义复制到另一个。
在我转换为 JSON 时,有没有办法指定我应该从后端 Metric 公开哪些字段到 Metric 的前端定义?更好的是,当我要求它编组后端对象时,我可以将前端定义引用到 JSON 转换器吗?
我们将 Jackson 与 Spring rest 框架一起用于上下文,但我很乐意立即放弃它,因为通过注释封送对象似乎是这个问题的根本原因。
【问题讨论】: