私は既存のSpring REST APIを持っています。
現在のところ、SpringFoxはYAML生成をサポートしていません。 Swagger 2.0(Open API 3.0 SPECに続く)でJSONを生成します。
また、 https://github.com/openapi-tools/swagger-maven-plugin は、Spring Restをサポートしていないようです。
私はyamlファイルを生成することができるがSwagger 2.0の定義を持つKongchen Spring-Maven-Pluginを試しました。
swagger: "2.0"
info:
description: "Test rest project"
version: "1.0"
title: "Some desc"
termsOfService: "http://swagger.io/terms/"
contact:
name: "Rest Support"
url: "http://www.swagger.io/support"
email: "[email protected]"
license:
name: "Apache 2.0"
url: "http://www.Apache.org/licenses/LICENSE-2.0.html"
Host: "example.com"
basePath: "/api/"
だから私の質問は、次のようなオープンAPI YAMLファイルを生成する方法です。
openapi: 3.0.0
info:
description: Some desc
version: "1.0"
title: Test rest project
termsOfService: http://swagger.io/terms/
contact:
name: Rest Support
url: http://www.swagger.io/support
email: [email protected]
license:
name: Apache 2.0
url: http://www.Apache.org/licenses/LICENSE-2.0.html
私は現在swagger-maven-plugin
を使用してSwagger 2.0の定義を持つYAMLファイルを生成し、swagger2openapi
at https://mermade.org.uk/openapi-converter を使用してAPI 3.0定義を開くために変換しています。
質問1:
[。_______CODE_io.swagger.v3.oas.annotations
がyamlを生成することができますか?
質問2:
[。] Spring MVCプロジェクトでOpen API定義を使用してYAMLを生成する最善の方法は何ですか?
質問3:
[。] io.swagger.v3.oas
は春のプロジェクトで使用することも、JAX-RSプロジェクトだけでも使用できますか?
私はより長い時間のためにいくつかのライブラリーが欠けていました。最後に、私自身の発電機を実装することにしました https://github.com/jrcodeza/spring-openapi あなたもそれをチェックアウトすることができます。それは反射に基づいており、JavaxとSpring Annotationsをサポートしています。それはまた、ジャクソン注釈に基づいて継承モデル(弁別器付き)を生成します。あなたが世代プロセスを変更したい場合はあなた自身のインターセプターを定義することができます(例えば、あなた自身の注釈があるとき、スキーマの生成されたセクションを調整する必要がある場合)。実行時モードまたはMavenプラグインとして使用できます。モデルを生成するJavaクライアントジェネレータへのOpenAPI3もあります。再度正しい継承のためにJavaxアノテーションとジャクソン注釈も生成します。