web-dev-qa-db-ja.com

swagger 2スプリングブートはymlファイルを生成します

私は、契約、そして契約の扱いを始めたばかりのSpring boot(gradle)プロジェクトに取り組んでいます。私はgrailsを使用してきました。どのようにしてフィールド定義をドメインに入れることができるのか、それはスタックを通じて継承されます。

特定の質問と、たぶん貯金箱の陰部質問。

標準のコントローラークラスからYAMLファイルの基本的なスタブを生成するにはどうすればよいですか?

controller\src\test\resourcesディレクトリに[名前] -v1-0.ymlファイルを作成することになっていることを理解しました

プロジェクトにswagger-ui.htmlを実装したところ、リクエストのエンドポイントなどを表示する非常に優れたインタラクティブなWebページが表示されます。 UI json doc Webページでインターフェイスを公開するために機能するclass SwaggerConfig extends WebMvcConfigurerAdapterを使用します。

テストリソースディレクトリのymlファイルは「契約」の固定世代であり、基本的なjunitのようにAPI署名とコントラクトポイントが変更されていないことを確認するために、ある種のGradleテストメソッドで使用されることを理解していると思いますインターフェイスのスタイルテスト。 (はい・いいえ?)

私はここで自分を考えて怠惰です、なぜ私はこの愚かなファイルを手でハッキングするのですか?コントローラー/モデルの詳細からyaml docスケルトンを簡単に生成できますか?

たとえば、ページではYMLファイルを受け取り、UIフレンドリーなページを作成します。 http://editor.swagger.io/#/

そのページには本当に素敵な「uber」サンプルYAMLファイルがありますが、それを本当に書く必要がありますか?コントローラー、javadoc、注釈付き、少なくともかなり良い開始スタブを生成できるあらゆる種類のクールなものをすでに書いていますyamlの(これをハックしたくないのはおまえのせいだ!)これはもちろん、もっとクールなことを行うSpringFoxアノテーションを配置し、実際にこのテスト契約の保証を推進するために町に行くところだ。

参考までに:'spring-boot-starter-web' 'spring-boot-starter-test' 'springfox-swagger-ui', version: '2.4.0'

10
ken

わかった。非常に単純ですが、なぜこれがどこにも見られませんでした。 :)

ブラウザでリソースパスをコピーして貼り付けます。

http://localhost:8095/v2/api-docs?group=full-api

生成されたコンテンツを選択し、クリップボードにコピーします。

ブラウザでSwaggerエディターを開きます。

http://editor.swagger.io

[ファイル]メニューから[JSONを貼り付け…]を選択します。

生成されたSwagger JSONコンテンツを貼り付け、[インポート]をクリックします。

15
ken

仕様のyaml表現を提供する機能リクエストがあります: https://github.com/springfox/springfox/issues/651

進捗状況のほか、まだ使用できません

3
Didac Montero