所以......我知道这个问题可能非常接近于“基于观点的”(opinion based)。我希望它不是,并且REST标准清楚说明了我要问什么,但如果不是,我将关闭它。
我的网站(使用Django开发,数据存储在Postgres中)有Product和Category。每个Category可以包含多个Product。
因此,问题是:如果有的话,获取所有分类及其每个分类下的所有产品的“正确”端点是什么?
我认为,获取特定类别的所有产品应该是很清楚的。例如,如果类别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格式):
我的网站(使用Django开发,数据存储在Postgres中)有Product和Category。每个Category可以包含多个Product。
因此,问题是:如果有的话,获取所有分类及其每个分类下的所有产品的“正确”端点是什么?
我认为,获取特定类别的所有产品应该是很清楚的。例如,如果类别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
}]
}
谢谢您的提前帮助。