2014-10-02 15 views
1

我創建需要具備以下能力的API:(例只)的Web API分頁和控制器的路線 - GETALL與PAGENUMBER VS GetByID衝突

GetALLProducts(INT PAGENUMBER) - 分頁(頁面大小是靜態的)

然後,我需要的另一條路線由ID獲取一個產品

GetProduct(INT的productID)

這裏的問題是,這是相同的簽名,所以應該對上班路線通過id獲得產品也是獲得所有產品但具有頁碼的相同路線。執行的路線是GetProduct。

例如:www.url.com/api/Products/2 - 這是否獲得所有產品的第二頁?或獲取產品ID號碼2?

我曾考慮過將pageSize添加到簽名中,但是我想讓它成爲一個系統靜態值。

您認爲在這裏最好的解決方案和乾淨的解決方案是什麼?我看到這個問題:WebApi Multiple actions were found with GetAll() and GetByIds(int[] ids),這也可以。思考?

謝謝!

回答

1

將pagenumber作爲查詢字符串傳遞。您應該分別撥打相應的電話 - 按慣例/產品?page = 1和/ product/2。您指定的路線將能夠區分這兩者。哦,我的首選是按照線程中的建議歸類路由。

+0

經過不少的搜索後,我覺得這也是最好的解決方案。測試和工作很好。感謝您的回覆。 – bugnuker 2014-10-02 22:49:56