RESTful APIドキュメントの生成に役立つツールを探しています。私のサーバーはJavaで書かれており、Spring MVCフレームワークを使用しています。サーバーにVIEWSがありません。これは100%RESTfulなサービスで、JSONを消費してJSONを吐き出すだけです。Swaggerを使用したSpring REST APIドキュメント
SwaggerがSpringアノテーションと互換性があるのだろうか?
RESTful APIドキュメントの生成に役立つツールを探しています。私のサーバーはJavaで書かれており、Spring MVCフレームワークを使用しています。サーバーにVIEWSがありません。これは100%RESTfulなサービスで、JSONを消費してJSONを吐き出すだけです。Swaggerを使用したSpring REST APIドキュメント
SwaggerがSpringアノテーションと互換性があるのだろうか?
現在、(少なくともWordnikの)Spring MVC swaggerモジュールはありませんが、一般的にはJVMベースのRESTサービスでswaggerを有効にするのは簡単です。
スワッガーサーバーのサポートは、コアサーバーとRESTサービスとの統合という2つの部分に分かれています。 Swagger github repoを参照してください。 Swaggerコアは、RESTサービス、パラメータ、許容値、HTTP操作などを表すドキュメントを定義します。サーバ統合は、このドキュメントをRESTフレームワークの構造に結び付けます。 WordnikはJAX-RS経由でJerseyを使用し、この統合を行うためにswagger-jaxrsをリリースしました。まもなくPlayモジュールリポジトリにリリースされるSwagger-Playモジュールもあります。
あなたは(Spring MVCのような)別のRESTフレームワーク上で闊歩を有効にしたい場合は、次の手順に従います
1)com.wordnik.swagger.core.Documentationオブジェクトを生成するためのAPIのリーダーを生成します。 バージョンとplayのバージョンを参照してください。
2)ドキュメントオブジェクトのJSON/XMLバージョンをクライアントに返すRESTエンドポイントを作成します。再び、JAX-RSおよびplay。
3)リクエストをインターセプトするフィルタを追加して、リソースまたはオブジェクトレベルのアクセスを強制します。
要するに、簡単にまとめることができます。
インタラクティブなAPIドキュメントを作成した後で(wikiスタイルのコラボレーションを必要としない)、I/O Docsはより良い解決策になるはずです。
これはnodejsとRedisで実行されています。 APIのJSONスキーマを記述するだけで、APIを記述したHTML/JSサイトが生成され、開発者はブラウザからライブで遊ぶことができます。
私のサーバー上で自分のAPIをホストする予定です(APIを見るために他の2つのソフトウェアをインストールする必要があります)が、JSONスキーマ自体は既に読み込み可能でコンパクトな構造で済みます他のプログラマーとのコラボレーションのために。それは小さなプロジェクトです。
チェックアウトしたい場合は、similar questionがあります。
Spring MVC用のSwaggerの別の実装はswagger4spring-webです。
Swagger-SpringMVCに似ており、すべてのSwaggerアノテーションをサポートし、戻り値の型とパラメータ用のJSONスキーマを生成します。また、注釈をぼかしなくても機能します。
Swagger 2.0は、Swaggerの最新バージョンです。
さまざまなニーズに応じて利用できるスワッガーのさまざまなバリエーションがあります。
io.swagger
はswaggerライブラリ用のパッケージで、Springと結合するには別々のスプリングジャーが必要です。これは、swaggerのバージョン2です。
io.springfox
はSpringfox Swagger2で、SwaggerはSpringと統合されています。
com.mangofactory
は、Spring Web MVCフレームワークと統合されています。
純粋なJavaベースのモジュールを作成することは可能ですか? – tbruyelle
スワッガーのためのSpringMVCモジュールがここに存在する:https://github.com/martypitt/swagger-springmvc –
スワッガータグをコミットできますか?こちらをご覧ください:http://stackoverflow.com/documentation/swagger/commit – Stephan