如何解决ValidationError:“值”必须是一个对象-ResponseValidation阶段
使用hapi服务器,我从这样的处理程序中返回:
async function handler (req,h) {
...
h.unstate(key,cookieOptions);
const resp = h.redirect(redirectUri);
return resp;
}
...但返回HTTP 500错误。我在堆栈跟踪中找到了失败:
ValidationError: "value" must be an object
at Object.exports.process (~/project/node_modules/hapi/node_modules/joi/lib/errors.js:201:19)
at internals.Object._validateWithOptions (~/project/node_modules/hapi/node_modules/joi/lib/types/any/index.js:751:31)
at module.exports.internals.Any.root.validate (~/project/node_modules/hapi/node_modules/joi/lib/index.js:146:23)
at exports.response (~/project/node_modules/hapi/lib/validation.js:173:31)
at Request._postCycle (~/project/node_modules/hapi/lib/request.js:356:68)
at Request._reply (~/project/node_modules/hapi/lib/request.js:335:20)
at Request._execute (~/project/node_modules/hapi/lib/request.js:171:14)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
...似乎来自响应验证生命周期,位于 onPostHandler 和 onPreResponse 之间。
可能是什么问题?
解决方法
失败来自重定向时未初始化的响应,首先创建空响应应将其修复:
async function handler (req,h) {
...
const resp = h.response().redirect(redirectUri);
return resp;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。