SpringCloud 自動生成API文檔

SpringCloud的項目一定要前后分離,這就需要一個API文檔生成的工具遥昧,后端一定要和前端或者是移動端對接接口俱笛,那么問題來了,接口是不是要自己寫給他們看妆够,一般的會采用Excel或者Word來寫识啦,高級一點的就采用API管理平臺手工錄入,一個項目有上千上萬個接口神妹,天啊颓哮,這是多么大的工作量,在接口維護的時候更加痛苦鸵荠,為了解決這樣的事我們可以借助 japi 這個項目來完成RESTFul文檔的自動生成冕茅,完全基于注釋生成,更多詳細配置可參考開源項目https://github.com/dounine/japi蛹找。

使用說明

克隆項目下來

git clone https://github.com/dounine/japi.git

編譯打包

cd japi/java
gradle install -xtest

運行JAPI后臺管理

cd japi/java
gradle bootRun

運行JAPI文檔界面

cd japi/node
node app.js

生成RESTFul文檔

maven項目

<dependency>
    <groupId>com.dounine.japi</groupId>
    <artifactId>client</artifactId>
    <version>1.0</version>
</dependency>

gradle項目

compile group: 'com.dounine.japi', name: 'client', version: '1.0'

編輯resources/japi.properties配置文件

japi.name=test
japi.uuid=43a600877430438596de3d330e4bd06e
japi.version=1.0.0
japi.author=lake
japi.url=http://192.168.0.123:8080
japi.description=this is project description.
japi.createTime=2017-02-23 10:44:44
japi.icon=/home/lake/github/japi/html/img/logo.png
japi.server=http://192.168.0.179:7778
japi.server.username=japi
japi.server.password=japi123

編寫一個action

/**
 * 獲取用戶列表
 * @param user 用戶信息
 * @return class User
 * @version v2
 */
@GetMapping(value = "v2/list")
public Result hots(@Validated({User.UserDEL.class}) User user) throws RuntimeException {

    return null;
}

編寫一個API生成類
JapiCreateTest.java

@Test
    public void testCreate(){
        JapiClient.setPrefixPath("/home/lake/github/test-japi/java/");//項目路徑前綴
        JapiClient.setpostfixPath("/src/main/java");//項目路徑后綴

        JapiClient.setProjectJavaPath("client");//主項目地扯
        JapiClient.setActionReletivePath("com/dounine/test-japi/action");//相對主項目action包所在路徑
        //JapiClient.setIncludeProjectJavaPath(new String[]{"api"});//主項目中關(guān)聯(lián)的其它項目包路徑
        JapiClient.setIncludePackages(new String[]{"com.dounine.test-japi"});//關(guān)聯(lián)的包,用于準(zhǔn)確快速搜索
        JapiClient.saveHistory(true);//是否保留本地歷史版本
        JapiClient.setFlushServer(false);//強制同步本地與服務(wù)器所有的版本(會先刪除服務(wù)器以前的歷史版本)

        IProject project = ProjectImpl.init();
        JapiClientStorage japiClientStorage = JapiClientStorage.getInstance();
        japiClientStorage.setProject(project);
        japiClientStorage.autoSaveToDisk();//自動使用到本地磁盤==> 用戶目錄/.japi-client/
        new JapiClientTransfer().autoTransfer(japiClientStorage);//文件傳輸?shù)街鞣?wù)器.
    }

最后訪問瀏覽器 http://localhost:7777

就可看到RESTFul文檔登錄


登錄界面

使用自己的帳號登錄就可以看到所有項目


模塊列表

進入項目看詳細RESTFul接口
模塊接口

使用場景

JAPI最適合在SpringCloud這樣的分布式多模塊項目中使用姨伤,內(nèi)置強大的正則表達式,這會讓代碼注釋更加規(guī)范庸疾,區(qū)別于Swigger這類使用侵入式注解生成文檔的,JAPI是完全基于標(biāo)準(zhǔn)注釋生成的,支持強大的JSR303或者是自定義注解乍楚。

開源精神

歡迎有意向的同學(xué)加入JAPI開源項目并將它改造得更好。


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末届慈,一起剝皮案震驚了整個濱河市徒溪,隨后出現(xiàn)的幾起案子凌箕,更是在濱河造成了極大的恐慌,老刑警劉巖词渤,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件牵舱,死亡現(xiàn)場離奇詭異,居然都是意外死亡缺虐,警方通過查閱死者的電腦和手機芜壁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來高氮,“玉大人慧妄,你說我怎么就攤上這事〖羯郑” “怎么了塞淹?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長罪裹。 經(jīng)常有香客問我饱普,道長,這世上最難降的妖魔是什么状共? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任套耕,我火速辦了婚禮,結(jié)果婚禮上峡继,老公的妹妹穿的比我還像新娘冯袍。我一直安慰自己,他們只是感情好碾牌,可當(dāng)我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布康愤。 她就那樣靜靜地躺著,像睡著了一般舶吗。 火紅的嫁衣襯著肌膚如雪征冷。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天裤翩,我揣著相機與錄音资盅,去河邊找鬼。 笑死踊赠,一個胖子當(dāng)著我的面吹牛呵扛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播筐带,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼今穿,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了伦籍?” 一聲冷哼從身側(cè)響起蓝晒,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤腮出,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后芝薇,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體胚嘲,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年洛二,在試婚紗的時候發(fā)現(xiàn)自己被綠了馋劈。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡晾嘶,死狀恐怖妓雾,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情垒迂,我是刑警寧澤械姻,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站机断,受9級特大地震影響楷拳,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜毫缆,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一唯竹、第九天 我趴在偏房一處隱蔽的房頂上張望乐导。 院中可真熱鬧苦丁,春花似錦、人聲如沸物臂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽棵磷。三九已至蛾狗,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間仪媒,已是汗流浹背沉桌。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留算吩,地道東北人留凭。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像偎巢,于是被迫代替她去往敵國和親蔼夜。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,627評論 2 350

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,841評論 25 707
  • 1压昼、通過CocoaPods安裝項目名稱項目信息 AFNetworking網(wǎng)絡(luò)請求組件 FMDB本地數(shù)據(jù)庫組件 SD...
    陽明先生_X自主閱讀 15,969評論 3 119
  • 我提著刀棍求冷, 追著噩夢瘤运, 一路跑, 跑到天涯的天涯上匠题, 撿到世界上最后一只蟑螂拯坟, 它趴在我的腳下, 死了韭山。
    無暗閱讀 321評論 0 0
  • 說實話第一次聽到Lombok的時候似谁,是從一個帶我的匈牙利老師傅那里學(xué)來的。那個時候他給了我一套JPA的代碼來訪問數(shù)...
    橘汁絆飯閱讀 2,693評論 5 12
  • 最近一直在跨越自己定的底線掠哥。巩踏。。
    MarkBlue閱讀 156評論 0 0