2013-12-10 52 views
2

我通過文檔工作Sails.js,並創造了根據他們的「入門」指南基本開發實例:Sails.js匹配了端點方法HTTP方法(GET,POST)

$ sudo npm -g install sails 
$ sails new testProject 
$ sails generate users 
$ sails lift 

這四個簡單命令將安裝該平臺,創建一個項目,並根據設計創建模型users

在我的瀏覽器中,使用默認安裝端口,我現在可以訪問http://localhost:1337/users並按預期接收空JSON數組[]

現在,我應該想創建一個新的用戶,REST最佳實踐表明,我應該使用POST方法。 POST的確的工作,然而開箱,帆允許您執行GET http://localhost:1337/users/create生成一個新的用戶對象。

通過閱讀他們的文檔,我一直無法確定一種限制哪些HTTP方法被允許執行各種任務的方法。這是在文檔中嗎?或者有人可以解釋Sails堆棧中的哪些內容(應該|可以)被管理?

回答

4

Sails.js爲您提供那些shortcuts,讓您僅​​使用GET方法進行操作,僅用於開發目的。您可以在生產中禁用這些,如果你想使用的文檔提到的配置:

默認情況下,帆將創建一個控制器的每個動作 藍圖行動路線,從而使一個GET請求來 /:controllerIdentity/:nameOfAction將觸發該動作。如果前一節中的示例控制器 已保存爲 api/controllers/SayController.js,那麼/say/hi/say/bye路由 將在應用解除時默認爲可用。如果 控制器保存在子文件夾/we下,則路由將爲 /we/say/hi/we/say/bye。請參閱blueprints documentation瞭解有關Sails自動路由綁定的更多信息 。

除了默認的 路由,Sails允許您使用config/routes.js文件手動將路由綁定到控制器 操作。當你 可能需要使用顯式路由是一些例子:

  • 當你想使用獨立 行動來處理相同的路線路徑,基於HTTP方法(又名 動詞)。上述行動藍圖路線 方法的路徑約束所有請求規定動作,包括GET,POST,PUT,DELETE 等
+0

沒錯,這就是我一直在尋找!非常感謝。 – brandonscript