如何根据 swagger 模式验证 JSON 模式的实例?
How do I validate an instance of JSON schema against a swagger schema?
我有一个 JSON 负载(请求或响应),我想根据我拥有的 swagger 模式验证该实例。我该怎么做?
请注意,我并不是要验证我的规范是否是 OpenAPI/Swagger 规范。
我想在不使用外部 JSON 验证器的情况下实现这一点。我也在尝试在 Go 中实现这一点(特别是 go-openapi)
谢谢。
您需要掌握定义验证规则的架构,该架构通常存储在 swagger 规范定义中 属性。
并且您需要获取模型(json 数据结构,可以是映射或结构)。
这是一个例子:
var model models.User
json.Unmarshal(bytes, &model)
var spec *spec.Swagger = getSpec()
schema := spec.Definitions["User"]
if err := validate.AgainstSchema(schema, &model, strfmt.Default); err != nil {
return err
}
我有一个 JSON 负载(请求或响应),我想根据我拥有的 swagger 模式验证该实例。我该怎么做?
请注意,我并不是要验证我的规范是否是 OpenAPI/Swagger 规范。
我想在不使用外部 JSON 验证器的情况下实现这一点。我也在尝试在 Go 中实现这一点(特别是 go-openapi)
谢谢。
您需要掌握定义验证规则的架构,该架构通常存储在 swagger 规范定义中 属性。
并且您需要获取模型(json 数据结构,可以是映射或结构)。 这是一个例子:
var model models.User
json.Unmarshal(bytes, &model)
var spec *spec.Swagger = getSpec()
schema := spec.Definitions["User"]
if err := validate.AgainstSchema(schema, &model, strfmt.Default); err != nil {
return err
}