1

我正在建立一个用户可以销售产品的网站。我从一个 RESTful api 开始,到目前为止我有:

/Product (Accepts, post)
/Product/[product_id] (Accepts, get, put, delete)

我还想为所有用户列出所有产品,所以我正在考虑:

/Products (Accepts, get)

这是我的问题,我也希望用户查看自己的产品,所以我也在考虑:

/MyProducts (Accepts, get)

我只是认为拥有 /Products 和 /MyProducts 是一样的,除了它们是在用户身上过滤的,那么我应该使用什么方法来做到这一点?

我已经考虑过以下问题,但不知道这是否令人不悦:

/Products (Accepts, get) <- returns all products
/Products/[user_id] (Accepts, get) <- returns all products for a user id.

非常欢迎任何帮助、指点或指导!

谢谢

克里斯

4

1 回答 1

4

大大简化。您实际上只需要两种资源:

  • 代表产品集合的东西,URI:/products
  • 代表单个产品的东西,URI:/products/{id}

只需这两种资源即可满足您的所有需求:

  • 要查看系统中的每个产品:GET /products
  • 仅查看您自己的产品:GET /products?showOnlyMine=true
  • 创建一个新产品:POST /products返回Location一个/products/{id}
  • 查看单个产品:GET /products/{id}

当然,您可以随意使用与 不同的 URI 参数showOnlyMine

于 2012-04-23T01:07:08.510 回答