Ember数据:处理"长"和"短" API的版本

时间:2015-02-16 13:53:21

标签: ember-data

我有一个支持端点上单个对象的GET的API

GET /api/objects/id?format=long
GET /api/objects/id?format=short

短版本包含较少的有效负载字段。短格式可能会用在object.summary之类的路线中,也可能用于object.details中的长路线。

我希望能够通过执行类似

的操作来使用此功能
this.store.find('object', id, {format: 'long'})

我能够提出的最佳解决方案是在适配器中编写我自己的find版本,例如

this.store.findWithFormat('object', id, {format: 'long'})

并借助buildURL等方法自行构建网址。我还需要在模型中存储短/长信息,这样如果商店中已有的版本是短格式的,它就知道以长格式重新加载该记录。

我考虑创建两个模型,一个名为ObjectShort,另一个名为ObjectLong,但这会导致对象的两个版本存在于商店中,更不用说必须更改用于支持该功能的API。

这是一种常见的模式,还有比自己编写这种机器更好的方法吗?

0 个答案:

没有答案