web-dev-qa-db-ja.com

Spring REST Swaggerを使用したAPIドキュメント

RESTful APIドキュメントの生成に役立つツールを探しています。私のサーバーはJavaで記述されており、Spring MVCフレームワークを使用しています。サーバーにVIEWSがありません。100%RESTfulサービスであり、JSONを消費してJSONを吐き出します。

Swagger がSpringアノテーションと互換性があるかどうか疑問に思っていましたか?

34
jsf

現在、少なくともWordnikから入手可能なSpring MVCのswaggerモジュールはありませんが、一般的に、JVMベースのRESTサービスでswaggerを有効にするのは非常に簡単です。

Swaggerサーバーのサポートは、コアサーバーと、RESTサービスとの統合。2つの部分に分かれています。 Swagger github repo を参照してください。Swaggerコアは、 RESTサービス、パラメータ、許容値、HTTP操作など。サーバー統合は、このドキュメントをRESTフレームワークの構造に結び付けます。Wordnikはこの統合を行うためにJAX-RSとリリースされたswagger-jaxrs。まもなくPlayモジュールリポジトリにリリースされる Swagger-Play モジュールもあります。

別のRESTフレームワーク(Spring MVCなど)でswaggerを有効にするには、次の手順に従います。

1)APIリーダーを生成して、com.wordnik.swagger.core.Documentationオブジェクトを生成します。 JAX-RS のバージョンと play のバージョンを参照してください。

2)ドキュメントオブジェクトのJSON/XMLバージョンをクライアントに返すRESTエンドポイントを作成します。ここでも JAX-RS および play =。

3)フィルタを追加してリクエストをインターセプトし、リソースまたはオブジェクトレベルのアクセスを強制します。

つまり、簡単に言えば、簡単にまとめることができます。

21
fehguy

Swagger-SpringMVCの実装が進行中です here および例 here

仕様v1.2は完全に実装およびサポートされています(つまり、ジェネリックを完全にサポートするモデルが生成されています)。現在、開発中です。

20
Marty Pitt

Swagger MVCのSwaggerの別の実装は、 swagger4spring-web です。

Swagger-SpringMVCに似ており、すべてのSwagger注釈をサポートし、戻り値の型とパラメーターのJSONスキーマを生成します。また、スワッガーアノテーションなしでも機能します。

5
Waggins

対話型APIドキュメントを生成した後(wikiスタイルのコラボレーションを必要としない)だけであれば、 I/O Docs の方が、IMHOのセットアップ、使用、カスタマイズに必要な労力がはるかに少なくなります。

NodejsとRedisで実行されています。 APIのJSONスキーマを作成するだけで、APIを説明するHTML/JSサイトが生成され、開発者はブラウザからライブでプレイできます。

私は自分のサーバー上でAPIをホストする予定です(APIを表示するために他の2つのソフトウェアをインストールする必要があるのはおかしいでしょう)が、JSONスキーマ自体は既に他のユーザーとのコラボレーションに十分であると思われる読みやすいコンパクトな構造を持っていますプログラマ。それは小さなプロジェクトです。

類似の質問 があります。チェックアウトすることをお勧めします。

3
Miranda

Swagger 2. はSwaggerの最新バージョンです。

Swaggerにはさまざまなニーズに対応したさまざまなバリエーションがあります。

io.swaggerはswaggerライブラリのパッケージであり、Springと結合するには別個のSpring jarが必要です。これはswaggerのバージョン2です。

io.springfoxはSpringfox Swagger2で、swaggerはSpringと統合されています。

com.mangofactoryは、Spring Web MVCフレームワークと統合されたswaggerです。

3
Sampada