我有一个大型模型,我在资源上用于GET和PUT。 该模型包括一个“审计”对象,如:
"audit": {
"createdAt": "2014-04-14T02:15:15Z",
"lastUpdatedAt": "2014-04-14T02:15:15Z",
"deletedAt": ""
}
这显然只是资源的一部分 - 有没有办法在合同模型中显示这一点,因此“审计”出现在GET响应表示中而不是PUT请求表示中?
我能看到的唯一选择是将模型复制到PUT的主体中并删除只读部分 - 但这样就消除了使用可以在不同方法中重用的单个模型的好处。
答案 0 :(得分:1)
这还不可能。当前资源模型的能力非常有限。它与Apiary: Refer to multiple models in a body或Reuse a resource model as an array类似。
有计划解决这一需求并在未来使蓝图更加干燥 - 请参阅Embedded Assets和Traits里程碑。
解决方案是复制&粘贴,或者,在您的特定情况下,不要在GET和PUT中返回不同的有效负载。你为什么这样做?