2017-05-08 8 views
0

私はJSONペイロード(リクエストまたはレスポンス)を持っており、私が持っているスージーなスキーマに対してそのインスタンスを検証したいと思います。それ、どうやったら出来るの?スワッガースキーマに対してJSONスキーマのインスタンスを検証するにはどうすればよいですか?

私の仕様がOpenAPI/Swagger仕様であることを検証しようとしていないことに注意してください。

これは、外部のJSONバリデータを使用せずにこれを実現したいと考えています。私はまたGoでこれを達成しようとしています(具体的にgo-openapi)

ありがとう。

答えて

2

通常、スガッガーの仕様定義プロパティに格納されている検証ルールを定義するスキーマを取得する必要があります。

モデルを取得する必要があります(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 
} 
関連する問題