在帆中拦截POST

时间:2015-08-31 15:36:00

标签: rest sails.js

在我的sails应用程序中,我有一个guest模型,其中包含有关已注册guest虚拟机的信息。我的任务是为客户端UI创建一些分析图,并且随着所需的数据库大小的增长,我无法再获得所有客户端并在客户端进行分析。

这引出了我的问题,我认为跟踪这些统计信息的最佳方法是在访客控制器中运行总计并返回这些并在创建或删除访客时修改总计。是否可以拦截POST和DELETES到模型,可能在控制器中?

1 个答案:

答案 0 :(得分:1)

来自Sails.js documentation for blueprint actions

  

蓝图操作(不要与蓝图操作路径混淆)是通用操作,旨在与具有相同名称模型的任何控制器一起使用(例如,ParrotController需要Parrot模型)。将它们视为应用程序的默认行为。例如,如果你有一个User.js模型和一个空的UserController.js控制器,则隐式地查找,创建,更新,销毁,填充,添加和删除操作,而不必编写它们。

     

默认情况下,蓝图RESTful路由和快捷方式路由绑定到相应的蓝图操作。但是,可以通过在该控制器文件中创建自定义操作(例如ParrotController.find)来覆盖特定控制器的任何蓝图操作。或者,您可以通过创建自己的自定义蓝图操作来覆盖应用程序中的蓝图操作。 (例如api / blueprints / create.js)。

     

当前版本的Sails附带以下蓝图操作:

     
      
  • 找到
  •   
  • findOne
  •   
  • 创建
  •   
  • 更新
  •   
  • 破坏
  •   
  • 填入
  •   
  • 添加
  •   
  • 除去
  •   

所以如果你想"拦截"请求创建或销毁User模型,只需在create文件中创建destroyUserController.js方法。