我正在構建一個REST API,其中有「書籍」和「用戶」。他們只能存在一個獨特的書。雖然用戶可以擁有多本圖書,但不同的用戶可以擁有相同的圖書(或引用相同的圖書)。用戶可以將附加信息添加到書籍(例如評分)。如何處理REST資源何時鏈接並擴展已有資源?
我的問題是:什麼是當用戶使用自己的設置「擴展」已經存在的書資源時映射資源的正確方法?
示例:第一次用戶沒有圖書,但他們可以創建圖書。如果書不存在,則創建該書,如果它存在,則它們可以訪問它。儘管他們可以添加自己的私人附加信息。
這是一個正確的方法嗎?
//使用的基本所需的信息的所有書籍可以在/書籍到達/:ID 示例:/書籍/ 1 {
"id":1,
"title":"The Empire",
"description":"Description about the book",
"serial":1234
}
//如果用戶創建的書「帝國」(序列號:1234)他們正在擴展已經存在的書,但他們已經添加了額外的信息,所以它實際上是一個新的URL,但指的是書的ID。
例如:/用戶/ 421 /書籍/ 1/
{
"id":1,
"title":"The Empire",
"description":"Description about the book",
"serial":1234,
"rating":5.5,
"note":"I liked the book but it was too long."
}
甚至:
{
"book":{
id":1,
"title":"The Empire",
"description":"Description about the book",
"serial":1234,
}
"rating":5.5,
"note":"I liked the book but it was too long."
}
甚至一個URL不便像/用戶/ 421 /書籍/ 1 /設置/
{
"rating":5.5,
"note":"I liked the book but it was too long."
}
做了@jayraynet回答你的問題? – 2013-01-25 06:55:52