• 首页
  • nodejs
  • sails 特色路由 blueprints 的支持及自定义路由

sails 特色路由 blueprints 的支持及自定义路由

sails.png

blueprints 是 sails 框架特色功能

Sails中的路由,blueprint 功不可没,网上翻译成 “蓝图” , Sails的blueprint是负责指挥每一条客户端请求应该分配到服务器端的哪个Action去 ,你可以理解成路由的"调度中心" blueprint主要分为三种:RESTful routes、Shortcut routes、Action routes .

RESTful routes

当路径诸如: /:post 或者 /:post/:id的时候,blueprint会根据HTTP的动作(GET、POST、DELETE、PUT等)来分配到相应的Controller下相应的Action来处理.

例如: 一个POST请求/post会创建一篇博客, 一个DELETE请求/post/1122334455 会删除id为1122334455的博文.

Shortcut routes

这种路由主要是方便开发,请求的参数可以直接写在请求路径中, 例如 /post/create?title=node.js分享 这时会创建一篇新博客,

/user/update/1122334455?title=更改以后的标题 这时会更新id为1122334455的博客.

shortcut routes在开发环境很便利,但是在生产环境下需要关闭

Action routes

这种路由会自动的为Controller层的每一个Action创建一个路由, 例如你的Controller层有一个postController.js,里面有一个Create方法,那么请求/post/create 就会分配到postController 下的 Create 方法来响应.

自定义路由

Sails也会提供自定义的路由, 可以在config/routes.js 文件里定义自己的路由. 在 config/blueprints.js 中选择关闭或者打开blueprint提供的路由.

下面我们自定义一个路由:

module.exports.routes = {
  'GET /list': 'blog.list',
  'GET  /blog/:id': 'blog.detail'
}

第一个路由: /list 对应 blogController 下的 list 方法.

第二个路由: /blog/:id 对应 blogController 下的 detail 方法.

出自:sails 特色路由 blueprints 的支持及自定义路由



回到顶部