0
我有一個JSON有效負載(請求或響應),我想根據我擁有的一個Swagger模式來驗證該實例。我怎麼做?如何根據Swagger模式驗證JSON模式的實例?
請注意,我不想驗證我的規範是否是OpenAPI/Swagger規範。
我想在不使用外部JSON驗證器的情況下實現此目的。我也試圖在Go中實現這個(特別是go-openapi)
謝謝。
我有一個JSON有效負載(請求或響應),我想根據我擁有的一個Swagger模式來驗證該實例。我怎麼做?如何根據Swagger模式驗證JSON模式的實例?
請注意,我不想驗證我的規範是否是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
}