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
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot通過自定義注解實(shí)現(xiàn)參數(shù)校驗(yàn)
實(shí)現(xiàn)參數(shù)校驗(yàn)說實(shí)話方式還挺多,個(gè)人使用過直接在Controller代碼里面寫、AOP+自定義注解、ConstraintValidator。本文主要和大家講的是ConstraintValidator實(shí)現(xiàn),感興趣的可以了解一下2022-12-12
Java如何獲取當(dāng)天零點(diǎn)和明天零點(diǎn)的時(shí)間和時(shí)間戳
這篇文章主要介紹了如何在Java中獲取當(dāng)天零點(diǎn)和明天零點(diǎn)的時(shí)間和時(shí)間戳,并提供了示例代碼,新手小白完全可以通過文中介紹的代碼實(shí)現(xiàn),需要的朋友可以參考下2025-03-03
Java網(wǎng)絡(luò)編程之簡易聊天室的實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了如何利用Java語言實(shí)現(xiàn)一個(gè)簡易聊天室功能,可以實(shí)現(xiàn)運(yùn)行客戶端和連接服務(wù)器,文中的示例代碼講解詳細(xì),需要的可以了解一下2022-10-10
Spring MVC中使用Google kaptcha驗(yàn)證碼的方法詳解
kaptcha 是一個(gè)非常實(shí)用的驗(yàn)證碼生成工具。有了它,你可以生成各種樣式的驗(yàn)證碼,因?yàn)樗强膳渲玫?,下面這篇文章主要給大家介紹了關(guān)于Spring MVC中使用Google kaptcha驗(yàn)證碼的方法,需要的朋友可以參考借鑒,下面來一起看看吧。2017-10-10
Java根據(jù)日期截取字符串的多種實(shí)現(xiàn)方法
在實(shí)際開發(fā)中,我們經(jīng)常會(huì)遇到需要根據(jù)日期來截取字符串的需求,例如從文件名中提取日期信息,Java 提供了多種方法來實(shí)現(xiàn)根據(jù)日期來截取字符串的功能,本文將給大家介紹了Java根據(jù)日期截取字符串的多種實(shí)現(xiàn)方法,需要的朋友可以參考下2024-11-11
spring?security?自定義Provider?如何實(shí)現(xiàn)多種認(rèn)證
這篇文章主要介紹了spring?security?自定義Provider實(shí)現(xiàn)多種認(rèn)證方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12
http協(xié)議進(jìn)階之Transfer-Encoding和HttpCore實(shí)現(xiàn)詳解
這篇文章主要給大家介紹了http協(xié)議之Transfer-Encoding和HttpCore實(shí)現(xiàn)的相關(guān)資料,文中介紹的非常詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來一起看看吧。2017-04-04
解決mybatis plus報(bào)錯(cuò)Invalid bound statement
在使用MyBatis時(shí)遇到InvalidBoundStatement異常,常因多個(gè)MapperScan配置沖突或者包掃描路徑設(shè)置錯(cuò)誤,解決方法包括保留一個(gè)MapperScan聲明、檢查jar包沖突、確保命名空間和掃描路徑正確,使用@TableId注解指定主鍵2024-11-11

