[英]JSON schema validation of optional fields using Golang
Golang JSON模式验证库验证服务请求/响应中是否存在模式上的必填字段。
我需要验证服务请求或响应中的任何字段都必须是架构上的属性。 如果架构中不存在有效负载中的属性,则验证应失败。
例如: GET响应:
{
"pet": "dog",
"name": "Scooby",
"licence": "123-123"
}
在我的示例JSON模式中,所有字段都不是必需的。 但是,如果我在服务中将字段“ pet”更改为“ petBreed”,那么它将不会被JSON模式验证器(例如https://github.com/xeipuuv/gojsonschema )捕获。
并非所有字段都必须填写。 任何人都可以在Go中建议一个图书馆:
JSON Schema定义additionalProperties
为了这个目的,像这样的模式应该工作:
{
"type": "object",
"additionalProperties": false,
"properties":{
"pet": ...,
"name": ...,
"license": ...,
},
}
这已实现,但未在gojsonschema
中进行gojsonschema
。
请注意, additionalProperties
是一个模式,而不仅仅是一个布尔值,即,您可以对未知属性进行任意验证,而不仅仅是禁止它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.