假設我希望能夠通過轉到/ product/list來查看我網站上的產品列表。大。所以這使用我的'列表'視圖,並輸出一些HTML,我的Web瀏覽器將呈現。如果我在RoR中有一個同名的API方法和控制器/視圖方法,該怎麼辦?
但是現在假設我想爲我的客戶提供一個REST API,以便他們可以獲取他們的產品列表。所以我想我會讓他們使用oAuth進行身份驗證,然後他們會調用/ product/list來返回他們產品的JSON數組。
但正如前面所說,/ product/list顯示一個HTML網頁。所以,我有衝突。
就在Rails中提供API而言,什麼是正常實踐?我應該在/ app/controller還是另一個'產品'控制器中有一個子目錄,'api'?所以我的客戶會去/ api/product/list來獲取他們產品的列表?
我對RoR有點新,所以我沒有掌握REST功能,但希望我的問題有道理。
生病了。生病了。我使用ExtJS,我發現我可以做到這一點 - Ext.Ajax.defaultHeaders = {'Accept':'application/json'}; - 然後只要在我的「responds_to」塊中有一個format.json,Rails知道對'/ product/list'的請求應該返回JSON數據 - 我不必請求'/ product/list。 JSON」。真棒。 – 2010-04-02 01:37:59