RESTful api with / products和/ myproducts

时间:2012-04-20 20:59:35

标签: api rest

我正在建立一个用户可以销售产品的网站。我开始使用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.

非常欢迎任何帮助,指示或指导!

由于

克里斯

1 个答案:

答案 0 :(得分:4)

彻底简化。实际上只需要两个资源:

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

只有这两种资源才能满足您的所有需求:

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

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