• 首页
  • 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 的支持及自定义路由

回到顶部