所以...我知道這個問題可能會危險地接近意見。我希望不是,而且REST標準清楚了我要問什麼,但如果不是,我會關閉它。「Right」REST URL獲取所有資源中的所有資源?
我有一個網站(Django的,與數據存儲在Postgres的)與Product
(-s)和Category
(-ies)每個category
可以包含多個product
(-s)。
所以,問題是:什麼是「正確的」端點(如果有的話)以獲得所有類別中的所有產品?
我相信這將清楚得到一個特定類別的所有產品。例如,如果類別ID是24
,爲了得到它的所有產品,我會寫:
http://myserver.com/api/categories/24/products
但所有類別的所有產品在每個如何?
會是http://myserver.com/api/categories/products
?
會是http://myserver.com/api/categories/all/products
?
使用某種參數比如http://myserver.com/api/categories?mode=all_products
會更好嗎?
這個想法是有這樣的(JSON格式)的響應
{
"25": [{
"id": 1,
"name": "Product 1 in category 25",
"price": 100
}, {
"id": 2,
"name": "Product 2 in category 25",
"price": 200
}],
"26": [{
"id": 3,
"name": "Product 1 in category 26",
"price": 300
}, {
"id": 4,
"name": "Product 2 in category 26",
"price": 400
}]
}
預先感謝您。
它可能只是http://myserver.com/api/products。由於URL的含義是完整的可用產品集合,並且結果的格式不考慮類別。例如:http://www.restapitutorial.com/lessons/restfulresourcenaming.html – 4xy
感謝您的評論,@ 4xy :-)具有特定網址的東西是我已經擁有它來獲取所有產品的列表,無論的(或者不按其分類)。 – BorrajaX
'REST標準'? REST只是一種建築風格,不是標準!接下來,REST並不關心你的URI設計,只是你尊重支持協議(在你的情況下是HTTP),並且這些URI是他們聲稱的唯一的。像http://someserver.com/foo/bar/adjfajdöaj/sajdkaj就像您提交的URI之一一樣(好或壞是基於意見的) –