Я пытаюсь выяснить, почему проверка схемы не работает в Fastify. У меня есть следующий код:
const postOptions = {
schema: {
body: {
type: 'object',
properties: {
name: { type: 'string' },
parentId: { type: 'number' },
requiredKey: { foo: { type: 'string'} }
}
},
response: {
201: {
type: 'object',
properties: {
id: { type: 'number'},
name: { type: 'string'},
parentId: { type: 'number' }
}
}
}
}
}
fastify.post('/sponsor', postOptions, async (request, reply) => {
console.log(`POST /sponsor called`)
return { id: 2, name: 'Zenotis', parentId: 1 }
})
Когда я использую почтальон, чтобы проверить его, я могу отправить любые ключи и значения с телом, и оно проходит нормально. Кажется, что это не проверка вообще. То же самое с ответом. Я использую Fastify версии 2.11.0
Редактировать: вот тело, которое я json отправляю:
{
"name": "Test",
"parentId": 5555555,
"foo": "bar"
}
Вот что я могу потерпеть:
{
"myName": "the field is not name",
"parentID": "The D is capitalized and this is a string",
"bar": "where did this field come from, it's not foo"
}
Если я отправлю это тело, оно пройдет нормально. Как мне настроить его на сбой во всех этих случаях?