req.options
在SailsJs中的目的是什么?
从源头上看,似乎我可以某种方式使用策略来改变Sails蓝图上的现有参数,等等。这是如何工作的?我根本找不到任何文件。
答案 0 :(得分:4)
req.options
作为向自定义路由添加选项的方法。例如,您可以随时执行:
'GET /userList': {
controller: 'UserController',
action: 'find'
}
指向User模型的默认“find”操作,但无法控制查询 - 它总是只返回所有记录。现在你可以做到:
'GET /userList': {
controller: 'UserController',
action: 'find',
sort: 'name desc',
where: {name: {startsWith: 'j'}}
}
并且所有选项(包括controller
和action
)都将添加到req.options
,默认蓝图操作会使用这些选项来修改查询。请注意与Sails v0.9.x的区别,后者使用req.target
来跟踪控制器和操作。
正如您所指出的,req.options
也可以在策略中修改,而不是在每个策略和控制器操作之前重置的req.params
。例如,这可以用于根据用户的角色进一步限制查询的条件。
显然v0.10.x的文档还没有完全完成(并且总是会有所改进),但这绝对可以在Route Target Syntax部分找到一个位置......