いくつかのJSONファイルからAPI仕様を作成し、ファイルがAPI仕様に対して検証されているかどうかをテストしようとしています。
JSONスキーマに対して検証するための優れたツールがいくつかありますが、Swagger(APIスキーマを作成するためのツール)で作成された仕様に対して検証するツールを見つける機会がありませんでした。私が見つけた唯一の解決策は、Swagger-Editorでクライアント/サーバーを生成することで、非常に面倒です。
Swagger Schemaに対してJSONを検証する既存のツールはすでにありますか?
コメントのArnaudは、ここに2つの質問があることを指摘しています。
仕様が有効なOpenAPI(fka。Swagger)仕様であることを検証しますか
あなたはできる
または、この仕様の実装がJSONスキーマに関して有効なJSONを生成することを検証しますか?
言い換えれば、リクエストまたはレスポンスの本文からのJSONがありますが、正しいですか?
Swaggerは、 スキーマオブジェクト のJSONスキーマと呼ばれる別の標準に依存しています。これは、エンドポイントやメタデータではなく、実際にJSONを記述するものです。 SwaggerはJSONスキーマのサブセットを使用します(欠落:oneOf
、patternProperties
など)。そのために、JSON Schema Validatorを使用できます。 7がここにリストされています ; このオンラインバリデーター に叫び声を上げます。これはYAMLスキーマもサポートしています。
しかし、SwaggerがJSON APIのサブセットに依存していると言ったとき、私は嘘をつきました。 JSONスキーマの一部ではないSwaggerには、特別な意味を持つ少数の固定フィールドがあります。それらの1つはdiscriminator
で、これはポリモーフィズムに使用されます。 discriminator
を処理できるSwaggerバリデーターを知りません。 公正な数のツール がswaggerにあり、検証を行うと主張するものもありますが、多くは放棄バージョンであり、古いバージョン向けであり、機能が完全ではなく、他の技術に結びついています。不足している成熟したよく管理されたライブラリがある場合、知りたいです。
OpenAPI 2.0/Swaggerスキーマはいくつかの場所で利用できますが、swagger自体でWordの「スキーマ」を多用しているため、見つけるのが少し難しいです。
そのため、このスキーマとドキュメントに汎用バリデータを向けることができます。たとえば、vscodeとRed HatのYAML拡張機能を使用すると、これはうまく機能します。
Swagger JSONがホストされている場合、次のURLを使用できます。 http://online.swagger.io/validator/debug?url=your_url