2012-04-20 6 views
1

私はユーザーが製品を販売できるウェブサイトを構築しています。私はこれまで私が持っている、RESTfulなAPIを始めている:/productsと/ myproductsのあるRESTful API

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

私も、すべてのユーザーのための製品のすべてを一覧表示したいので、私は持つと思っています:

/Products (Accepts, get) 

と私はちょうど彼らがアーカンソー除き、持っ/製品&/MyProductsは同じのようなものだと思い

/MyProducts (Accepts, get) 

:ここに私の問題だ、私はまた、ユーザーが自分の製品を表示したいので、私も有していると考えていますユーザーにフィルタリングされているので、どのような方法でこれを行う必要がありますか?

私は以下について考えてきましたが、これは眉をひそめているかどうかを知りません:

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

すべてのヘルプは、ポインタや指導は非常に歓迎します!大幅

おかげ

クリス

答えて

4

簡素化します。あなたが必要とする唯一の2つのリソースは本当にあります。製品のコレクションを表すために

  • 何か、URI:単一の製品を代表する/products
  • 何か、URI:/products/{id}

すべてのニーズをすることができGET /products:システム内のすべての製品を表示するには

  • :ちょうどそれらの2つのリソースに会いましたGET /products?showOnlyMine=true
  • 新製品を作成するには:別のURIパラメータを使用してお気軽GET /products/{id}

POST /products単一の製品を表示するには/products/{id}

  • Locationを返すだけで、独自の製品を表示するには
  • もちろん、showOnlyMineより。