2017-04-13 59 views
0

我創建了一個新的應用程序帆,到目前爲止,我已經創建使用sails generate api guitar的API,然後將此代碼添加控制器:爲什麼我Sails.js的應用程序會有我從未添加的路由

module.exports = {  
    fender: function(req, res){ 
     console.log(req.params); 
     res.notFound(); 
    } 
}; 

正如所料,當我去http://localhost:1337/guitar/fender我得到一個404 error(這是我編程的迴應)。但我沒有得到的是,如果我去http://localhost:1337/guitar/fender/4,控制檯將顯示[ id: '4' ]。我似乎在某處有一個GET /guitar/fender/:id(使用Express/Rails語法)URL。但我沒有看到它在任何地方,不在config/routes.js或其他地方。

那麼,Sails.js會爲每個控制器動作自動創建一個:id嗎?或者我在這裏錯過了什麼?

我嘗試了一些東西,比如添加此向config/routes.js文件:

'get /guitar/fender/:brand': 'GuitarController.fender'

,然後當我去到URL再次,[ brand: '4' ]將被打印出來,而不是id

所以我的最後一個問題是:Sails.js是否會爲每個控制器動作自動創建一個:id

回答

1

(我不能對文檔要麼找到這個)加快REST開發,帆使用名爲藍圖內部API。

當您運行「generate」命令時,Sails會爲您創建所有CRUD操作來處理您的實體,因此您可以立即測試您的API而無需任何代碼。

在這裏您創建了一個吉他實體。現在你可以直接在你的網絡瀏覽器上玩了!讓我們試試這個在localhost:

  1. /guitar/create?name=Ibanez
  2. /guitar
  3. /guitar/4
  4. /guitar/update/4?name=Stratocaster
  5. /guitar/4
  6. /guitar/destroy/4
  7. /guitar

如果您想了解更多藍圖的信息,您可以:

  • this section從帆文檔
  • 看看在配置/ blueprints.js文件在你的帆項目
相關問題