Java非侵入式API接口文檔工具apigcc用法詳解
一個(gè)非侵入的api編譯、收集、Rest文檔生成工具。工具通過分析代碼和注釋,獲取文檔信息,生成RestDoc文檔
前言
程序員一直以來都有一個(gè)煩惱,只想寫代碼,不想寫文檔。代碼就表達(dá)了我的思想和靈魂。
Python提出了一個(gè)方案,叫docstring,來試圖解決這個(gè)問題。即編寫代碼,同時(shí)也能寫出文檔,保持代碼和文檔的一致。docstring說白了就是一堆代碼中的注釋。Python的docstring可以通過help函數(shù)直接輸出一份有格式的文檔,本工具的思想與此類似。
代碼即文檔
Apigcc是一個(gè)非侵入的RestDoc文檔生成工具。工具通過分析代碼和注釋,獲取文檔信息,生成RestDoc文檔。
有這樣一段代碼
/** * 歡迎使用Apigcc * @index 1 */ @RestController public class HelloController { /** * 示例接口 * @param name 名稱 * @return */ @RequestMapping("/greeting") public HelloDTO greeting(@RequestParam(defaultValue="apigcc") String name) { return new HelloDTO("hello "+name); } }
使用方式
apiggs-maven-plugin
easy use apigcc with maven
安裝
<plugin> <groupId>com.github.apiggs</groupId> <artifactId>apiggs-maven-plugin</artifactId> <version><!-- 替換為上方版本號(hào) --></version> <executions> <execution> <phase>compile</phase> <goals> <goal>apiggs</goal> </goals> </execution> </executions> <configuration> <!-- options in there --> </configuration> </plugin>
when you compile source code, apiggs will build rest doc.
options
- id 項(xiàng)目id,生成id.html文件
- title 文檔標(biāo)題
- description 文檔描述
- production 輸出文件夾,默認(rèn)為 apiggs
- out 輸出目錄,默認(rèn)為 target
- source 源碼目錄
- dependency 源碼依賴的代碼目錄,以逗號(hào)隔開
- jar 源碼依賴的jar包目錄,以逗號(hào)隔開
- ignore 忽略某些類型
- version 文檔版本號(hào)
執(zhí)行方法:
查看API文檔:
另外,也可以放入容器遠(yuǎn)程訪問,方法如下:
運(yùn)行項(xiàng)目
gradlew build
cd service\build\libs
java -jar apigcc-hub-{version}.jar
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
基于Java8實(shí)現(xiàn)提高Excel讀寫效率
這篇文章主要介紹了基于Java8實(shí)現(xiàn)提高Excel讀寫效率,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11SpringBoot中使用configtree讀取樹形文件目錄中的配置詳解
這篇文章主要介紹了SpringBoot中使用configtree讀取樹形文件目錄中的配置詳解,configtree通過spring.config.import?+?configtree:前綴的方式,加載以文件名為key、文件內(nèi)容為value的配置屬性,需要的朋友可以參考下2023-12-12JVM運(yùn)行時(shí)數(shù)據(jù)區(qū)原理解析
這篇文章主要介紹了JVM運(yùn)行時(shí)數(shù)據(jù)區(qū)原理解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08JAVA為什么要使用封裝及如何封裝經(jīng)典實(shí)例
這篇文章主要給大家介紹了關(guān)于JAVA為什么要使用封裝及如何封裝的相關(guān)資料,封裝就是將屬性私有化,提供公有的方法訪問私有屬性,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-10-10淺析Bean?Searcher?與?MyBatis?Plus?區(qū)別介紹
Bean?Searcher號(hào)稱任何復(fù)雜的查詢都可以一行代碼搞定,但?Mybatis?Plus?似乎也有類似的動(dòng)態(tài)查詢功能,最近火起的?Bean?Searcher?與?MyBatis?Plus?倒底有啥區(qū)別?帶著這個(gè)問題一起通過本文學(xué)習(xí)下吧2022-05-05Lombok注解之@SuperBuilder--解決無法builder父類屬性問題
這篇文章主要介紹了Lombok注解之@SuperBuilder--解決無法builder父類屬性問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09