Fastify 和 json 模式验证
Fastify and json schema validation
我正在尝试通过官方文档学习 fastify。我对使用 json 模式验证传入的 post 请求非常感兴趣。按照我添加到我的路线的说明:
fastify.addSchema({
$id: 'http://example.com/',
type: 'object',
properties: {
hello: { type: 'string' }
}
})
fastify.post('/', {
handler() { },
schema: {
body: {
type: 'array',
items: { $ref: 'http://example.com#/properties/hello' }
}
}
})
现在的问题是我不能写一个可以被这个模式接受的json。根据我的基本理解,应该接受像下面这样的简单 post 请求
[
{
"hello": "bye"
},
{
"hello": "bye bye"
}
]
但是服务器一直告诉我 body[0] should be string
。我哪里错了?
引用 $ref: 'http://example.com#/properties/hello'
指向 hello
属性 架构值,即 { type: 'string' }
。
这意味着 fastify.post('/', {
中的模式期望正文是一个字符串数组。
我正在尝试通过官方文档学习 fastify。我对使用 json 模式验证传入的 post 请求非常感兴趣。按照我添加到我的路线的说明:
fastify.addSchema({
$id: 'http://example.com/',
type: 'object',
properties: {
hello: { type: 'string' }
}
})
fastify.post('/', {
handler() { },
schema: {
body: {
type: 'array',
items: { $ref: 'http://example.com#/properties/hello' }
}
}
})
现在的问题是我不能写一个可以被这个模式接受的json。根据我的基本理解,应该接受像下面这样的简单 post 请求
[
{
"hello": "bye"
},
{
"hello": "bye bye"
}
]
但是服务器一直告诉我 body[0] should be string
。我哪里错了?
引用 $ref: 'http://example.com#/properties/hello'
指向 hello
属性 架构值,即 { type: 'string' }
。
这意味着 fastify.post('/', {
中的模式期望正文是一个字符串数组。