34

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

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

4

5 に答える 5

21

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

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

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

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

2) ドキュメント オブジェクトの JSON/XML バージョンをクライアントに返す REST エンドポイントを作成します。再び、JAX-RSplay .

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

要するに、かなり簡単に組み立てることができます。

于 2012-02-08T15:57:33.027 に答える
20

進行中の Swagger-SpringMVC 実装がここにあり、例がここにあります。

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

于 2012-05-07T04:04:06.370 に答える
5

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

これは Swagger-SpringMVC に似ており、すべての Swagger アノテーションをサポートし、戻り値の型とパラメーターの JSON スキーマを生成します。また、swagger アノテーションがなくても機能します。

于 2013-02-26T18:40:52.177 に答える
3

インタラクティブな API ドキュメントを生成した後である場合 (Wiki スタイルのコラボレーションは必要ありません)、I/O Docsはセットアップ、使用、カスタマイズに必要な労力がはるかに少ない、より優れたソリューションです。

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

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

あなたがチェックしたいと思うかもしれない同様の質問があります。

于 2012-03-05T08:57:49.720 に答える
3

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

現在、さまざまなニーズに対応するさまざまなバリエーションの Swagger が用意されています。

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

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

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

于 2016-06-03T11:58:26.377 に答える