Я использую hapi-swagger в нашем приложении, где один из API пытается использовать настраиваемый заголовок, но когда я вызываю этот API с настраиваемым заголовком, получая ошибку ниже
{
"statusCode": 400,
"error": "Bad Request",
"message": "Invalid request headers input"
}
Ниже API, где я использую заголовки с валидатором.
{
method: 'POST',
path: '/v1/testapi',
config: {
description: 'Greet user',
notes: ['Use to greet a user'],
tags: ['api'],
handler: function ( request, h ) {
console.info('sending response...');
return h.response('OK');
},
validate: {
headers: {
name: Joi.string().required()
}
}
}
}
Ниже приведены версии, которые мы используем.
"hapi": "17.2.2",
"hapi-swagger": "9.1.1",
"дзёи": "13.1.2",





Я столкнулся с этим недавно. Вам необходимо использовать опцию проверки allowUnknown, чтобы разрешить неизвестные заголовки (https://github.com/hapijs/hapi/issues/2407#issuecomment-74218465).
validate: {
headers: Joi.object({
name: Joi.string().required()
}).options({ allowUnknown: true })
}
Также обратите внимание, что hapi 17 изменил поведение по умолчанию для сообщения об ошибках проверки. Если вы хотите регистрировать или возвращать фактическую ошибку, указывающую, какие заголовки не проходят проверку, а не общий «неверный запрос», вы можете добавить собственный обработчик failAction (https://github.com/hapijs/hapi/issues/3706).