Sails.js 如何将Sails控制器配置为仅使用';邮政';方法

Sails.js 如何将Sails控制器配置为仅使用';邮政';方法,sails.js,Sails.js,我看到所有控制器方法对于GET和POST都是免费的。如何确保只允许某些方法的POST?如果您使用自动将URL路由到自定义控制器操作,则默认情况下,这些操作将响应GET、PUT、POST、DELETE和PATCH方法。如果您希望控制哪些方法是允许的,您有几个选择: 使用文件中的自定义路由禁用某些方法。例如,如果在UserController.js中有一个foo操作,而您不想允许该操作的GET请求,则可以添加以下自定义路由: "GET /user/foo": {response: 'forbidde

我看到所有控制器方法对于GET和POST都是免费的。如何确保只允许某些方法的POST?

如果您使用自动将URL路由到自定义控制器操作,则默认情况下,这些操作将响应
GET
PUT
POST
DELETE
PATCH
方法。如果您希望控制哪些方法是允许的,您有几个选择:

  • 使用文件中的自定义路由禁用某些方法。例如,如果在UserController.js中有一个
    foo
    操作,而您不想允许该操作的
    GET
    请求,则可以添加以下自定义路由:

    "GET /user/foo": {response: 'forbidden'}
    
    自动将其路由到“禁止”响应(与在控制器中执行
    res.forbidden()
    相同)

  • 在操作本身内测试
    req.method
    ,对于不想处理的方法,尽早返回:

    if (req.method.toUpperCase() == 'GET') {return res.forbidden();}
    
  • 通过将文件中的
    actions
    设置为
    false
    来禁用操作路由。然后,您必须在文件中手动设置所有路由