比方說,我正在開發一個Rails後端用作API相同的資源。我有一個Book
模型,其中has_many
Reviews
。每個這樣的Reviews
has_many
Photos
和belongs_to
一個User
。要了解我要去的內容,請查看酒店評論網站,其中有來自酒店和用戶的圖片。但是,在畫廊旁邊,您還可以找到用戶的單獨評論,其中包含一些照片。目前我JSON響應看看這個:JSON API設計:包括在多個地方
{
book: {
id: 1,
star_rating: 5
original_images: []
},
reviews: [
{
id: 1,
title: "great book",
photos: [
{
url: "http://foobar.gov",
caption: "hi"
},
{
url: "www.hello.world",
caption: "hi"
}
],
user: {
name: "Fred"
}
},
{
id: 2,
..etc
}
我的困境:我的應用程序的前端,我希望能夠循環通過審查,並顯示審查數據+審查的照片,所以做這樣的事情review.user
, review.title
和review.photos
在一個循環將是偉大的,並與我目前的數據結構。另一方面,當我想要展示一個畫廊時,如果我在與original_images
相同的結構層次上有一個陣列,它將包含所有的URL,對我來說更容易。但是,如果我這樣做,當我想顯示只一個具體的審查的照片,我會基本上做一個巨型大小的數組中進行搜索,並挑選出屬於那個特定的審查圖像。
我的問題:我應該包括在多個地方的照片?無論他們現在在哪裏,還可以在一個大陣中作爲original_images
的兄弟姐妹?