2012-09-17 84 views
0

嗨,我想知道哪個是使用ember-data中相關資源的最佳解決方案。 爲了構建一個REST後端。Ember-data:最好的Json相關資源

1)嵌入式資源

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

2)資源

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

3)嵌入式ID鏈接資源

user: { 
id: "blabla", 
links: { 
    "self": { "href": "https://stackoverflow.com/users/blabla" }, 
    "albums": { "href": "/albums/blabla" } 
}, 
} 

你認爲可以使用hipermedia作爲HATEOAS?

在此先感謝

+0

「什麼是最好的......「不是問這個問題的好方法。你在構建應用程序時面臨哪些限制?你有沒有嘗試過這些方法,並發現它們的缺點?你想達到什麼目的?這些將有助於知識淵博的人給你一個很好的答案。 – pjmorse

回答

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" 
    ... 
    }] 
}