我有一个策略来检查请求是否具有完整且有效的正文。我想向控制器发送一个值,以确定结果是通过还是失败。反正有没有实现这个目标?
答案 0 :(得分:6)
如果策略失败,为什么要将控制传递给控制器?通常,您所描述的策略的目的是在策略失败时转移程序流,也许转移到错误页面。无论如何,您最需要的是req.options
:
req.options允许在不修改原始对象的情况下更改(或提供默认值)请求参数。
您可以在策略中的req.options
中设置一个值,然后在控制器中将其读回,而无需修改实际请求。
答案 1 :(得分:2)
策略获取请求对象作为输入,您可以在将对象发送到控制器之前修改该对象,即通过请求对象搭载数据。
您可以在政策中执行以下操作:
req.body.paramname = 'newval';
在控制器中,您可以获得值
var paramFromPoliy = req.body.paramname;