【发布时间】:2017-08-20 05:50:59
【问题描述】:
我正在开发一个数据模型,该模型具有一组始终存在的预定义属性,以及用户为其定义的其他自定义属性。
一家公司有很多角色。除了所有角色在不同公司中具有的一组固定属性之外,使用此系统的每个公司都希望为其所有角色定义自定义属性。
我们的想法是,json-api 中的角色有效负载带有所有属性,无论是否自定义:
{
"id": "123",
"type": "roles",
"attributes": {
"name": "CEO",
"salary": 100000,
"favoriteColor": "blue"
}
}
在上述角色中,name 和 salary 是默认属性,存在于所有角色中,与公司无关,但 favoriteColor 是拥有此角色的特定公司定义为他们需要拥有的自定义属性它的所有角色。
考虑到我无法在角色模型定义中定义这些自定义属性,我想知道是否可以使用 Ember Data 来解决这样的问题:
// app/models/role.js
export default DS.Model.extend({
name: DS.attr('string'),
salary: DS.attr('number'),
})
更糟糕的是,这些自定义属性不一定是字符串值,但也可以指定它们的类型。因此,公司可能希望拥有string 类型的favoriteColor,以及date 类型的birthDate。
【问题讨论】:
标签: javascript json ember.js ember-data json-api