REST Jersey(およびJAXB)を使用して、非常に広範なJava APIを作成しました。また、Wikiを使用してドキュメントを作成しましたが、完全に手動のプロセスであり、特に修正が必要な場合は、Wikiの更新を忘れがちです。
見回すと、他のほとんどのREST APIも手動でドキュメントを作成しています。しかし、これにはおそらく良い解決策があるのだろうかと思っています。
各エンドポイントについて文書化する必要がある種類は次のとおりです。
そしてもちろん、グローバルないくつかの一般的なものがあります
これらの一般的なことは一度説明すれば問題なく、自動化する必要はありませんが、Webサービスメソッド自体にとっては、自動化することが非常に望ましいと思われます。
注釈を使用して、XMLを生成する小さなプログラムを作成し、次にHTMLで実際のドキュメントを生成するXSLTを作成することを考えました。カスタムXDocletを使用するほうが理にかなっていますか?
Swagger は美しいオプションです。 GitHubのプロジェクトであり、Mavenの統合と、柔軟性を維持するためのその他のオプションがあります。
残念なことに、Darrelの答えは技術的には正しいのですが、現実の世界では大物です。一部の人だけが同意するという理想に基づいており、あなたがそれについて非常に注意を払っていたとしても、何らかの理由であなたがコントロールできない場合、あなたは正確に従うことができない可能性があります。
APIを使用しなければならない可能性のある他の開発者は、できたとしても、RESTfulパターンの詳細を気にかけたり、知ったりすることはありません...する必要があります。
しかし、WADLについてのAchimの主張は良いことです。存在するため、APIのドキュメントを生成するための基本的なツールを作成できるはずです。
一部の人々はこのルートを採用しており、変換を行うためにXSLスタイルシートが開発されています。 https://wadl.dev.Java.net/
それがあなたのニーズに完全に適合するかどうかはわかりませんが、 enunciate を見てください。さまざまなWebサービスアーキテクチャに適したドキュメントジェネレータのようです。
[〜#〜] edit [〜#〜]Engitiateはgithubの傘の下で利用できます
実行時にXML形式で公開されたすべてのリソースの説明[〜#〜] wadl [〜#〜]を提供するJerseyの機能に興味があるかもしれません。 (注釈から自動的に生成されます)。これには、基本的なドキュメントに必要なものがすでに含まれているはずです。さらに、追加のJavaDocを追加できる場合がありますが、追加の構成が必要になります。
こちらをご覧ください: https://jersey.Java.net/documentation/latest/wadl.html
ダレルの答えは正確です。クライアントの開発者がクライアントの実装をサービスの現在の実装に結合するようになるため、REST APIのクライアントに種類の説明を与えてはいけません。これがRESTのハイパーメディアです制約は回避することを目的としています。
そのように記述されたAPIを開発することはできますが、結果のシステムはRESTアーキテクチャスタイルを実装しないため、プロパティ(特に進化可能性)が保証されないことに注意してくださいRESTによって。
たとえば、RPCよりもインターフェイスが優れたソリューションである可能性があります。しかし、あなたが構築していることは何であるかに注意してください。
ヤン