2012-01-03 74 views
7

我想找到一種方法來從Java代碼(WADL或HTML)中生成良好的REST API文檔 - 基於JAXB,JAX-RS註釋和java doc註釋(無doclet請)。Resteasy - 從Javadoc和Annotations生成REST文檔

這裏是我的項目環境

  • 春天,沒有XML只有註解
  • REST的容易,因爲REST提供商
  • JAXB和JAX-RS註解
  • MIME類型的JSON
  • 休息API

回答

14

嘗試Enunciate

Enunciate是一個顯着增強Java Web服務API的引擎。 很簡單。您使用標準Java技術開發Web服務API,並將Enunciate附加到構建過程。突然,您的Web服務API擁有一些非常令人印象深刻的功能:

  • 您的服務的完整HTML文檔,從您的JavaDocs中抓取。
  • 想要與您的API接口的開發人員的客戶端庫(例如Java,.NET,iPhone,Ruby,Flex,AJAX,GWT等)。
  • 接口定義文件(例如WSDL,WADL,XML,模式等)
  • 等等
+1

在網路上找不到它。任何人? – 2015-06-15 12:28:51

+1

可以在https://github.com/stoicflame/enunciate找到 – vim 2015-07-09 13:48:54

1

Java編譯器API允許您編寫解析Java源代碼並執行自己的處理的代碼。

以下是instructional article,其中包含有關解析註釋的信息。

我想你可以使用這些API提取你需要的原始信息。但是,這將產生語法事實 - REST URL和操作和參數,用戶還可以從服務作者可以(應該)在Java Doc中提供的額外解釋中受益。

完整的解決方案可能是解析註釋和java文檔,並結合兩者。

+0

正確的....但我想有更多像maven插件,將爲我處理這個 - 只有doc生成,沒有客戶端庫或類似的東西。 – 2012-01-03 08:58:50

+0

我想我假設一個插件尚不存在,並建議如何寫一個插件。我的建議只是使用JavaDoc。 – djna 2012-01-03 09:11:39

10

作爲替代Enunciate,您也可以考慮MireDot。它從我們自己公司內部使用的工具發展而來,可以免費用於開源項目。它完全符合你的描述:它結合了jaxrs註釋和現有的javadoc註釋來生成一個rest api。它作爲一個maven插件,你只需要添加到你的項目。 Jaxb註釋在撰寫時尚未得到支持,但該工具正在積極開發之中,我們根據建議/請求/反饋選擇要實現的功能。

+1

剛剛嘗試了MireDot,它真的很棒! – thermz 2013-10-18 15:47:47

+0

我已將MireDot與RestEasy結合使用,非常酷且易於配置 – 2014-04-09 23:27:23

+9

MireDot唯一的「問題」是所需的許可證密鑰。每個artifactId一個...(即使是免費部分) – 2014-11-27 10:34:31