干掉 Swagger,試試這個(gè)窑业!

來(lái)自公眾號(hào):漫畫(huà)編程
作者:葉大俠

JApiDocs是一個(gè)無(wú)需額外注解钦幔、開(kāi)箱即用的SpringBoot接口文檔生成工具。

編寫(xiě)和維護(hù)API文檔這個(gè)事情常柄,對(duì)于后端程序員來(lái)說(shuō)鲤氢,是一件惱人但又不得不做的事情,我們都不喜歡寫(xiě)文檔西潘,但除非項(xiàng)目前后端代碼都是自己寫(xiě)的卷玉,否則API文檔將是前后端協(xié)作中一個(gè)不可或缺的溝通界面。既然不可避免喷市,那就想辦法弄個(gè)輪子吧揍庄。人生苦短,必須偷懶东抹。

無(wú)圖無(wú)真相蚂子,生成文檔的效果如下:

image

相比Swagger要寫(xiě)一堆注解,Spring RestDocs需要寫(xiě)測(cè)試用例缭黔,才能生成API文檔食茎。JApiDocs 具有無(wú)痛集成的特點(diǎn),你只需花幾分鐘就能知道它怎么用了馏谨。

快速開(kāi)始

要使得JApiDcos正確工作别渔,你寫(xiě)的代碼應(yīng)該是像下面的樣子的:

/**
 * 用戶接口
 */
@RequestMapping("/api/user/")
@RestController
public class UserController {
    /**
     * 用戶列表
     * @param listForm
     */
    @RequestMapping(path = "list", method = {RequestMethod.GET,  RequestMethod.POST}  )
    public ApiResult<PageResult<UserVO>> list(UserListForm listForm){
        return null;
    }

    /**
     * 保存用戶
     * @param userForm
     */
    @PostMapping(path = "save")
    public ApiResult<UserVO> saveUser(@RequestBody UserForm userForm){
        return null;
    }
}

我們給Controller類和方法加上必要的注釋,給接口方法返回相關(guān)的對(duì)象類型惧互。是的哎媚,這樣JApiDocs就能解析到相關(guān)的接口信息了,就跟我們平時(shí)寫(xiě)的代碼是差不多的喊儡,但要注意拨与,你要通過(guò)@param來(lái)告訴JApiDocs接口的參數(shù),但在IDE的幫助下艾猜,這個(gè)工作將是輕松愉悅的:

image

然后你在任意一個(gè)main入口方法執(zhí)行下面的代碼就可以生成文檔了:

DocsConfig config = new DocsConfig();
config.setProjectPath("your springboot project path"); // 項(xiàng)目根目錄
config.setProjectName("ProjectName"); // 項(xiàng)目名稱
config.setApiVersion("V1.0");       // 聲明該API的版本
config.setDocsPath("your api docs path"); // 生成API 文檔所在目錄
config.setAutoGenerate(Boolean.TRUE);  // 配置自動(dòng)生成
Docs.buildHtmlDocs(config); // 執(zhí)行生成文檔

接下來(lái)你只管好好寫(xiě)代碼买喧,生成Api文檔的工作就可以交給JApiDocs了捻悯,你不需要再為額外編寫(xiě)和維護(hù)文檔而煩惱。

功能特性

1淤毛、代碼即文檔

JApiDocs是通過(guò)直接解析SpringBoot的源碼語(yǔ)法來(lái)工作的今缚,所以只要Controller的語(yǔ)法符合一定的代碼規(guī)范,有合理的注釋低淡,就可以直接導(dǎo)出文檔姓言。

2、支持導(dǎo)出HTML

便捷的導(dǎo)航和接口查看界面蔗蹋;可本地預(yù)覽何荚,或者部署到HTTP服務(wù)器。推薦部署到服務(wù)器纸颜,方便前后端展開(kāi)協(xié)作兽泣。

3、同步導(dǎo)出客戶端Model代碼

支持導(dǎo)出Android端的 Java 和iOS端的 Object C Model代碼胁孙,減少前端程序員的重復(fù)編碼工作唠倦。

4、更多特性

支持接口搜索涮较;支持不同版本和英文文檔稠鼻;自定義擴(kuò)展等。

簡(jiǎn)潔的文檔

再好用的東西狂票,如果沒(méi)有文檔說(shuō)明候齿,別人也無(wú)從入手。為了讓大家盡快上手闺属,JApiDocs準(zhǔn)備了一份極簡(jiǎn)的文檔說(shuō)明慌盯,確保你在幾分鐘就能用上JApiDocs〉嗥鳎花5分鐘不到就能認(rèn)識(shí)一個(gè)提高工作效率的工具亚皂,讓你把更多的時(shí)間花在更加有價(jià)值的事情上,你確認(rèn)不看一下嗎国瓮?

倉(cāng)庫(kù)地址:https://github.com/YeDaxia/JApiDocs

中文文檔:https://japidocs.agilestudio.cn/#/zh-cn/

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末灭必,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子乃摹,更是在濱河造成了極大的恐慌禁漓,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件孵睬,死亡現(xiàn)場(chǎng)離奇詭異播歼,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)肪康,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門荚恶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)撩穿,“玉大人磷支,你說(shuō)我怎么就攤上這事谒撼。” “怎么了雾狈?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵廓潜,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我善榛,道長(zhǎng)辩蛋,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任移盆,我火速辦了婚禮悼院,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘咒循。我一直安慰自己据途,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布叙甸。 她就那樣靜靜地躺著颖医,像睡著了一般。 火紅的嫁衣襯著肌膚如雪裆蒸。 梳的紋絲不亂的頭發(fā)上熔萧,一...
    開(kāi)封第一講書(shū)人閱讀 49,166評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音僚祷,去河邊找鬼佛致。 笑死,一個(gè)胖子當(dāng)著我的面吹牛辙谜,可吹牛的內(nèi)容都是我干的俺榆。 我是一名探鬼主播,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼筷弦,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼肋演!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起烂琴,我...
    開(kāi)封第一講書(shū)人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤爹殊,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后奸绷,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體梗夸,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年号醉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了反症。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片辛块。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖铅碍,靈堂內(nèi)的尸體忽然破棺而出润绵,到底是詐尸還是另有隱情,我是刑警寧澤胞谈,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布尘盼,位于F島的核電站,受9級(jí)特大地震影響烦绳,放射性物質(zhì)發(fā)生泄漏卿捎。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一径密、第九天 我趴在偏房一處隱蔽的房頂上張望午阵。 院中可真熱鬧,春花似錦享扔、人聲如沸底桂。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)戚啥。三九已至,卻和暖如春锉试,著一層夾襖步出監(jiān)牢的瞬間猫十,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工呆盖, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留拖云,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓应又,卻偏偏與公主長(zhǎng)得像宙项,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子株扛,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容