Ember-data:最佳Json相关资源

时间:2012-09-17 11:48:49

标签: rest ember.js ember-data hateoas

您好我想知道哪个是使用ember-data中相关资源的最佳解决方案。 为了构建REST后端。

1)嵌入资源

user: {
id: "foo",
albums: [
 album: {
  id: "foo",
  name: "bar",
  description: "foobar",
 },
 album: {
  id: "foobar"
  name: "foobarfoo",
  description: "fumanchu",
 },
 ],
}

2)资源的嵌入id

user: {
 id: "foo",
 albums: [
   album: {
    id: "foo",
   },
   album: {
    id: "foobar"
   },
  ],
}

3)链接资源

user: {
 id: "blabla",
 links: {
   "self": { "href": "/users/blabla" },
   "albums": { "href": "/albums/blabla" }
 },
}

你认为可以在HATEOAS中使用hipermedia吗?

提前致谢

1 个答案:

答案 0 :(得分:1)

你看过ActiveModelSerializers宝石吗?

在服务器端使用Rails时,这是完成工作的更简单方法。

对于关系,它可以嵌入或使用对子资源的引用。引用(我建议)以这种方式序列化:

{
  users: [{
    id: 42,
    firstName: "John",
    albums: [ 1, 2, 3 ]
  }]
}
{
  albums: [{
    id: 1,
    name: "Foo"
  }, {
    id: 2,
    name: "Bar"
  }, {
    id: 3,
    name: "Buzz"
  }]
}

此处,相册也可作为侧载数据包含在第一个哈希中:

{
  users: [{
    id: 42,
    firstName: "John",
    albums: [ 1, 2, 3 ]
  }],
  albums: [{
    id: 1,
    name: "Foo"
  ...
  }]
}