0

简短的问题,试图为如此快速的风帆找到一个 IRC,但迷路了,所以就这样吧。我有一个带有“/ userposts”路由的控制器。我知道sails 提供了一些默认的类似REST 的功能而无需后端代码,但是如果我想覆盖默认的POST 操作该怎么办?

我被迫编写一个 POST 路由,例如,post /userposts/create或者我可以覆盖默认操作并直接发布到/userposts它将识别我的覆盖并执行它。

我希望我说得通。我基本上想创建一个自定义 POST 路由并能够

socket.post('/userposts', {title: "Foo", content: "Bar"}, function(response){});

我试过了,create但它没有在帖子上执行/userposts

4

1 回答 1

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'
}

您还可以覆盖 /:controller 路由

'POST /userposts': 'UserPostsController.createPost'

这些路由会将任何 POST 请求映射到createPost函数。

有关更多信息,请务必查看Sails.js 文档

于 2013-10-08T12:59:05.993 回答