春RESTドキュメントが最近リリースされ、ドキュメントには次のように書かれています:
このアプローチにより、Swaggerなどのツールによって課せられる制限から解放されます。
したがって、私は、Swaggerと比較してSpring REST Docsを使用する方が好ましい場合、およびそれが解放する制限を確認します。
私は他のトピックの中であなたの質問に触れるプレゼンテーションをここで見ました:
https://www.youtube.com/watch?v=k5ncCJBarRI&t=26m58s
Swaggerはハイパーメディアをまったくサポートしていません/ URI中心です
Swaggerによるコードの検査方法は、コードよりも遅れることがあります。 Swaggerが更新されない限り、Swaggerが理解できず、適切に処理されないコードを変更する可能性があります。
Swaggerには多くの注釈が必要であり、注釈のAPIドキュメントに必要な説明テキストを含めるのは面倒です。
Swaggerがコードの検査から理解できないことがいくつかあります。
いずれにせよ、これらはほんの数点です。プレゼンターは、私よりもはるかに優れた議論を行います。
私は、Swaggerを取り巻くコンテキスト、それが何であるか、および何でないかを説明するためにチャイムを鳴らすと思いました。これはあなたの質問に答えるのに役立つと思います。
Swagger 2.0は、Microsoft Azure、Paypal、SwaggerHub.com、DynamicApis.comなどの多くのビッグネームやビッグプラットフォームで採用されています。覚えておくべきことは、 仕様 。フレームワークではありません。 APIを表すSwagger 2.0 JSONファイルを構築するために、API情報を参照してコードをクロールするSwagger出力を生成するために構築された frameworks がたくさんあります。 APIが表示されるSwagger UIは、このSwagger 2.0 JSONファイルから直接駆動されます。 それをチェックアウトするためのフィドラー
「swaggerを使用」できるように作成されたフレームワークは、Swaggerが機能する方法ではないことに注意してください(つまり、サードパーティフレームワークの実装次第です)。 Swagger 2.0ドキュメントの生成に使用しているフレームワークでUIが機能しない場合は、Swaggerアーティファクトを生成してテクノロジーを交換する別のフレームワークを見つけることができるはずです。
お役に立てれば。
Swaggerと特定のスプリングスタックにはいくつかの制限があります。
たとえば、リクエストマッピングで「param」を使用すると、同じURL ansで複数のメソッドを定義できるため、コードを簡略化できます。しかし、swaggerは1つの方法だけを示します
From Spring REST docs :
Springの目的RESTドキュメントは、正確で読みやすいRESTfulサービスのドキュメントを作成するのに役立ちます
このテスト駆動型のアプローチは、サービスのドキュメントの正確性を保証するのに役立ちます。スニペットが正しくない場合、それを生成するテストは失敗します。
春REST docsの利点:
春REST docsの欠点:
Swaggerの利点:
Swaggerの欠点:
Swaggerの欠点の1つは、循環的な依存関係があるモデルを処理できないことです。モデルに循環依存関係があり、swaggerが有効になっている場合、スプリングブートサーバーがクラッシュします。