0

嗨,我想知道哪个是使用 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 吗?

提前致谢

4

1 回答 1

1

你看过ActiveModelSerializers gem 吗?

在服务器端使用 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"
  ...
  }]
}
于 2012-09-17T13:09:30.053 回答