简短的问题,试图找到一个快速的帆船IRC但是迷路了所以这里。我有一个控制器,其路线为'/ userposts'。我知道sails提供了一些默认的类似REST的功能而不需要后端代码,但如果我想覆盖默认的POST操作怎么办?
我被迫编写一个POST路由,例如post /userposts/create
,或者我可以覆盖默认操作并直接发送到/userposts
,这将识别我的覆盖并执行它。
我希望我有意义。我基本上想要创建自定义POST路由并且能够
socket.post('/userposts', {title: "Foo", content: "Bar"}, function(response){});
我尝试使用create
,但未在帖子/userposts
上执行
答案 0 :(得分:3)
Sails.js提供开箱即用的蓝图。
这些蓝图为您提供以下默认启用的 CRUD 路由
/:controller/find/:id?
/:controller/create
/:controller/update/:id
/:controller/destroy/:id
要修改控制器的默认功能,请查看 config / controllers.js 中的设置
您的路由在 config / routes.js 中定义,在您的情况下,您有一个模型 UserPosts 和一个名为 UserPostsController 的相应控制器。
在 UserPosts 控制器中,创建一个函数 createPost 并指定此方法的路径
'POST /userposts/create': 'UserPostsController.createPost'
这是
的简写'POST /userposts/create': {
controller: 'userposts',
action: 'createPost'
}
您也可以覆盖/:控制器路径
'POST /userposts': 'UserPostsController.createPost'
这些路由将映射对 createPost 函数发出的任何POST请求。
有关详细信息,请务必查看Sails.js documentation