Mik*_*ing 2 validation json jsonschema ajv
我正在使用 Fastify 构建 API,这是我第一次使用 JSON 模式验证。我们的想法是,它既可以提高服务器代码的效率,又可以帮助我们的开发人员学习如何使用我的 API。
我正在尝试验证允许客户端仅按名称查询小猫的路由。一个成功形成的查询看起来是/kittens?name=fluffykins。
我这条路线的架构如下所示:
{
querystring: {
type: 'object',
name: { type: 'string' },
}
}
Run Code Online (Sandbox Code Playgroud)
如何让我的模式验证器只接受查询name并拒绝其他查询,例如/kittens?age=1?我更喜欢模式验证器独立于我的控制器代码处理它,并且它还支持我们将来可能添加的查询。
谢谢!
正如我向 SO 发布问题时的典型情况一样,不久之后我自己就找到了答案。以下是对我有用的方法,但我仍然很想知道是否有其他更好的方法可以做到这一点!
{
querystring: {
type: 'object',
properties: {
name: { type: 'string' }
},
anyOf: [
{
required: [ 'name' ]
}
],
},
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1293 次 |
| 最近记录: |