javascript
itextpdf api帮助文档_我开源了一个小工具,可以帮你轻松生成 SpringBoot API 文档...
前言
大家好,我叫葉大俠,一名獨立開發者。這個文檔工具是我17年的一個想法,當時還是在公司里面上班,負責App客戶端的開發工作,當時后端童鞋寫文檔的意愿比較低,總是要等他們開發完接口,然后才在微信上溝通接口細節,顯然這樣的效率很低,導致前端的童鞋總是差不多deadline的時候才猛加班。
后面我建議讓他們能不能先把接口設計好,這樣大家可以并行開發,但顯然會增加了他們不少工作量,于是不太樂意。在這樣的背景下,我就想能不能搞個工具來自動生成這個文檔,并且盡可能不增加他們的工作量。
當時組里面后端用的還是play框架,我調研了一下這個框架,結合java強類型的語言特性,有了基本的思路,于是私下花了差不多兩周的時間做了個很初級的版本,雖然簡陋,但基本可以滿足對文檔的需求了。
這就是JApiDocs最初的想法來源。
后來覺得這個東西別人也許也會需要,后面我就把它整理出來開源了,并擴展支持了SpringBoot、JFinal框架。
不久這個項目受到了開源中國的推薦,收獲了一波星星,后面還受邀到源創會去分享了一下,這算是這個項目的巔峰時刻了。
后來由于我出來創業,慢慢就沒時間打理這個項目了,關注度也慢慢下去了。
內心始終有股遺憾,碼農生涯如果沒有個像樣的開源產品,感覺不是很圓滿,所以我又回來繼續完善這個開源工具了,雖然不知道最終是否會得到大家認可,但還是想去嘗試一下。
簡介
編寫和維護API文檔這個事情,對于后端程序員來說,是一件惱人但又不得不做的事情,我們都不喜歡寫文檔,但除非項目前后端代碼都是自己寫的,否則API文檔將是前后端協作中一個不可或缺的溝通界面。
JApiDocs是一個無需額外注解、開箱即用的SpringBoot接口文檔生成工具。
無圖無真相,生成文檔的效果如下:
相比Swagger要寫一堆注解,Spring Rest Docs需要寫測試用例,才能生成API文檔,JApiDocs 具有無痛集成的特點。
快速開始
要使得JApiDcos正確工作,你寫的代碼應該是像下面的樣子的:
/**?*?用戶接口
?*/
@RequestMapping("/api/user/")
@RestController
public?class?UserController?{
????/**
?????*?用戶列表
?????*?@param?listForm
?????*/
????@RequestMapping(path?=?"list",?method?=?{RequestMethod.GET,??RequestMethod.POST}??)
????public?ApiResult>?list(UserListForm?listForm){return?null;
????}/**
?????*?保存用戶
?????*?@param?userForm
?????*/@PostMapping(path?=?"save")public?ApiResult?saveUser(@RequestBody?UserForm?userForm){return?null;
????}
}
我們給Controller類和方法加上必要的注釋,給接口方法返回相關的對象類型。是的,這樣JApiDocs就能解析到相關的接口信息了,就跟我們平時寫的代碼是差不多的,但要注意,你要通過@param來告訴JApiDocs接口的參數,但在IDE的幫助下,這個工作將是輕松愉悅的:
然后你在任意一個main入口方法執行下面的代碼就可以生成文檔了:
DocsConfig?config?=?new?DocsConfig();config.setProjectPath("your?springboot?project?path");?//?項目根目錄
config.setProjectName("ProjectName");?//?項目名稱
config.setApiVersion("V1.0");???????//?聲明該API的版本
config.setDocsPath("your?api?docs?path");?//?生成API?文檔所在目錄
config.setAutoGenerate(Boolean.TRUE);??//?配置自動生成
Docs.buildHtmlDocs(config);?//?執行生成文檔
接下來你只管好好寫代碼,生成Api文檔的工作就可以交給JApiDocs了,你不需要再為額外編寫和維護文檔而煩惱。
功能特性
1、代碼即文檔
JApiDocs是通過直接解析SpringBoot的源碼語法來工作的,所以只要Controller的語法符合一定的代碼規范,有合理的注釋,就可以直接導出文檔。
2、支持導出HTML
便捷的導航和接口查看界面;可本地預覽,或者部署到HTTP服務器。推薦部署到服務器,方便前后端展開協作。
3、同步導出客戶端Model代碼
支持導出Android端的 Java 和iOS端的 Object C Model代碼,減少前端程序員的重復編碼工作。
4、更多特性
支持接口搜索;支持不同版本和英文文檔;自定義擴展等。
簡潔的文檔
再好用的東西,如果沒有文檔說明,別人也無從入手。為了讓大家盡快上手,JApiDocs準備了一份極簡的文檔說明,確保你在幾分鐘就能用上JApiDocs。
人生苦短,必須偷懶。
花5分鐘不到就能認識一個提高工作效率的工具,讓你把更多的時間花在更加有價值的事情上,你確認不看一下嗎?
https://github.com/YeDaxia/JApiDocs?(可點擊文章最下面的原文鏈接到項目主頁)
溫馨提示:GitHub上收藏和支持一個項目最好的方式就是點個star哦!
接下來的計劃
這個工具的目標很明確,就是盡可能提升前后端溝通和開發效率。接下來的計劃包括但不限于:
開源不易,歡迎大家關注和支持!
關于AgileStudio
我們是一支由資深獨立開發者和設計師組成的團隊,成員均有扎實的技術實力和多年的產品設計開發經驗,提供可信賴的軟件定制服務。
總結
以上是生活随笔為你收集整理的itextpdf api帮助文档_我开源了一个小工具,可以帮你轻松生成 SpringBoot API 文档...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python做社会网络分析_社交网络分析
- 下一篇: slf4j 如何返回堆栈_重学JS系列