如何在路由处理程序中使用 `pre` - hapi.js
How to use `pre` in route handler - hapi.js
我必须在路由中使用 pre 调用方法。我正在使用 hapi-request。我试图在路由声明中使用 pre,但出现错误。我错过了什么?
我原来的路线:
server.route({
method: 'POST',
path: '/searchUser',
config: User.searchUser
})
使用预
server.route({
method: 'POST',
path: '/searchUser',
pre: validateUser,
config: User.searchUser
})
错误
Error: Invalid route options (/searchUser) {
"method": "POST",
"path": "/searchUser",
"config": {}
}
←[31m
[1] "pre" is not allowed←[0m
路由配置对象的属性pre不是函数(here) it is an array of object route-prerequisites
pre
应该在配置对象中使用。
来自 Hapi 中的 route-prerequisites 文档:
server.route({
method: 'GET',
path: '/',
config: {
pre: [
[
// m1 and m2 executed in parallel
{ method: pre1, assign: 'm1' },
{ method: pre2, assign: 'm2' }
],
{ method: pre3, assign: 'm3' },
],
handler: function (request, reply) {
return reply(request.pre.m3 + '\n');
}
}
});
更新路线:
server.route({
method: 'POST',
path: '/searchUser',
config: {
handler: User.searchUser,
pre: [{ method: validate /* function to be called */ }]
}
);
我必须在路由中使用 pre 调用方法。我正在使用 hapi-request。我试图在路由声明中使用 pre,但出现错误。我错过了什么?
我原来的路线:
server.route({
method: 'POST',
path: '/searchUser',
config: User.searchUser
})
使用预
server.route({
method: 'POST',
path: '/searchUser',
pre: validateUser,
config: User.searchUser
})
错误
Error: Invalid route options (/searchUser) {
"method": "POST",
"path": "/searchUser",
"config": {}
}
←[31m
[1] "pre" is not allowed←[0m
路由配置对象的属性pre不是函数(here) it is an array of object route-prerequisites
pre
应该在配置对象中使用。
来自 Hapi 中的 route-prerequisites 文档:
server.route({
method: 'GET',
path: '/',
config: {
pre: [
[
// m1 and m2 executed in parallel
{ method: pre1, assign: 'm1' },
{ method: pre2, assign: 'm2' }
],
{ method: pre3, assign: 'm3' },
],
handler: function (request, reply) {
return reply(request.pre.m3 + '\n');
}
}
});
更新路线:
server.route({
method: 'POST',
path: '/searchUser',
config: {
handler: User.searchUser,
pre: [{ method: validate /* function to be called */ }]
}
);