2010-11-22 66 views
8

我在尋找一個類似javadoc的REST API文檔工具。我已經在javadoc中記錄了我的其餘控制器,我認爲從前端開發人員創建一個api文檔會很好。javadoc-like spring-mvc rest api文檔的工具?

我想現在還沒有工具。那麼有人有想法如何完成這項任務?我想過使用經典javadoc工具並添加一些彈簧/休息特定邏輯。但我不確定是否還需要一些特殊的標記或可能存在的缺陷。最後,我想有一些工具可以將集成到maven網站生命週期中,但這不應該很難完成。

處理繼承可能很困難:我在REST資源中使用它很多,但對讀者來說,繼承並不是她應該關心的東西。因此,子控制器必須以某種方式集成超級控制器方法,但也能夠在實際控制器的上下文中創建一些有意義的文檔。我不確定春天是否允許我覆蓋超級控制器的方法,但仍然評估其註釋。

我很感激任何關於相關項目的提示,已經存在的工具或只是您使用javadoc工具的經驗!

回答

1

如果你想這樣做你自己,你可以接近這樣的:

  1. 創建AnnotationReader實現,掃描各種@Path註釋
  2. 測試,它能夠讀取name屬性
  3. 創建包裝此掃描功能的Maven mojo
  4. 添加設施以將正則表達式參數(例如{customerId})映射爲有意義的文檔的目的 - 也許通過閱讀相關的Javadoc。

註釋閱讀器不必對現有註釋做任何修改,因此建立端點正則表達式列表應該很簡單。結合Javadocs,您應該能夠創建一個有用的工具。我一定會覺得它有用,也許其他人也會。

+0

我希望Enunciate能夠在春季工作,但是您的選擇看起來像是一種從頭開始的好方法! – Jan 2010-11-26 18:15:41

+0

當前狀態:我們使用Doclet API自行完成。如果其他人想貢獻,我們可以在某處建立公共svn並共享資源。 – Jan 2011-04-02 11:39:04

+0

嘿,簡,我對你如何做這件事感興趣。我們可能會將基於Restlet的API遷移到Spring MVC(儘管我們也在研究兼容JSR 311/JAX-RS的解決方案)。我認爲,能夠通過爲您的代碼界面輕鬆實現Javadoc來生成您的REST API文檔實際上是將REST API集成到開發週期中的最後一步。 – 2011-08-09 17:51:00

1

我知道Enunciate,它與Jersey/CXF很好地工作 - 但我不知道它是否與SpringMVC一起使用。

+0

至少它提到了春天。看起來很有希望。我將設置一個測試 – Jan 2010-11-26 18:14:07

+2

不幸的是,它不支持Spring的WEB-MVC註釋。 – Jan 2011-04-02 11:38:35