【发布时间】:2015-05-29 23:52:44
【问题描述】:
假设我有三张桌子
product (id, name)
customer (id, name)
product_customer (product_id, customer_id)
我已经关注 product 和 customer 的 REST 服务 (URI)
GET /products => get all products
GET /products/:id => get details on a specific product
POST /products => add a product
PUT /products/:id => update a product
DELETE /products/:id => delete a product
Same as above for /customers
问题
现在加入表 product_customer 需要一个 URI AND REST 约定来根据以下需要检索记录
a) /product_customer(将传递customer_id 参数以获取客户购买的所有产品)
b) /product_customer(将传递product_id 参数以获取所有购买此产品的客户)
我需要一个用于连接表的 REST uri 约定,以便能够通过两个参数检索记录,是否有任何标准约定?
编辑示例 JSON
{
"products": [
{
"id": 1,
"name": "product 1"
}
],
"customers": [
{
"id": 1,
"name": "john"
},
{
"id": 2,
"name": "jane"
},
]
}
编辑 2 - 基于 cmets 的建议 URI
复数(带 s)
GET /products - 列出所有产品
GET /products/1 - 产品 ID 1(无客户)的名称等详细信息
单数
GET /product/1 - 产品及其客户的详细信息
GET /product/1/customers 仅限产品 1 的客户
【问题讨论】:
-
单数或复数形式取决于模型的名称。如果型号名称是product,那么request是
GET /product/1等等。
标签: node.js rest express sails.js