
前言
API 這個(gè)詞我相信大家都不陌生,平時(shí)的工作中也會(huì)使用到一些api管理工具,比如:YApi,swagger,postman,apidoc,showDoc,rap2等。今天主要介紹下 YApi 以及在 idea 中集成插件實(shí)現(xiàn)自動(dòng)生成與更新 api 文檔。
正文
YApi 介紹
下面摘錄部分內(nèi)容來(lái)大致介紹YApi,更加深入及詳細(xì)的內(nèi)容請(qǐng)移步到上面的鏈接進(jìn)行查看。
YApi 平臺(tái)介紹

YApi 是高效、易用、功能強(qiáng)大的 api 管理平臺(tái),旨在為開(kāi)發(fā)、產(chǎn)品、測(cè)試人員提供更優(yōu)雅的接口管理服務(wù)??梢詭椭_(kāi)發(fā)者輕松創(chuàng)建、發(fā)布、維護(hù) API,YApi 還為用戶提供了優(yōu)秀的交互體驗(yàn),開(kāi)發(fā)人員只需利用平臺(tái)提供的接口數(shù)據(jù)寫入工具以及簡(jiǎn)單的點(diǎn)擊操作就可以實(shí)現(xiàn)接口的管理。
YApi 特性
- 基于 Json5 和 Mockjs 定義接口返回?cái)?shù)據(jù)的結(jié)構(gòu)和文檔,效率提升多倍
- 支持 postman, har, swagger 數(shù)據(jù)導(dǎo)入
- 扁平化權(quán)限設(shè)計(jì),即保證了大型企業(yè)級(jí)項(xiàng)目的管理,又保證了易用性
- 類似 postman 的接口調(diào)試
- 自動(dòng)化測(cè)試, 支持對(duì) Response 斷言
- MockServer 除支持普通的隨機(jī) mock 外,還增加了 Mock 期望功能,根據(jù)設(shè)置的請(qǐng)求過(guò)濾規(guī)則,返回期望- 數(shù)據(jù)
- 免費(fèi)開(kāi)源,內(nèi)網(wǎng)部署,信息再也不怕泄露了
介紹完 YApi 之后,那么接下來(lái)進(jìn)入正題,來(lái)看看怎么實(shí)現(xiàn) Idea 與 YApi 的無(wú)縫銜接吧。
先看一下接口文檔生成的效果吧:

接下來(lái)我們開(kāi)始進(jìn)行同步接口文檔的操作:
【第一步】:打開(kāi)Idea => File => Settings => Plugins => 搜索 EasyApi 插件并安裝

【第二步】:安裝完成后重啟Idea
【第三步】:打開(kāi)Idea => Settings => Other Settings => EasyApi 設(shè)置Yapi的服務(wù)地址

【第四步】:找到對(duì)應(yīng)的需要?jiǎng)?chuàng)建或者更新的controller,鼠標(biāo)右鍵,單擊Export Yapi

注:第一次執(zhí)行Export Yapi 會(huì)彈出一個(gè)框讓我們輸入Token,如下圖:

注:上圖中的Token來(lái)源在 Yapi 服務(wù)界面【test】分組下的【test-yapi】項(xiàng)目設(shè)置中,【test】分組以及【test-yapi】項(xiàng)目都是我提前創(chuàng)建好的,各位可以在自己創(chuàng)建的項(xiàng)目中找到設(shè)置 => token配置面板獲取 Token

經(jīng)過(guò)上面四步,我們的文檔就一鍵同步到了 YApi , 以后如果controller中接口有變動(dòng)則再次執(zhí)行上文中的【第四步】即可同步最新接口到 YApi了
下面是對(duì)應(yīng)的測(cè)試代碼,通過(guò)代碼對(duì)照這看生成的接口文檔可以更加準(zhǔn)確的了解Yapi額
controller:
/**
* 測(cè)試 Yapi Controller
*
* @author maodudu
* @version 1.0
* @date 2022/6/19 21:16
*/
@RestController
public class TestYapiController {
/**
* 測(cè)試 yapi
* @param id id
* @return 結(jié)果
*/
@PostMapping("/yapi/test/{id}")
public TestYapiVO test(@PathVariable("id") String id){
return null;
}
}
返回結(jié)果TestYapiVO :
/**
* 測(cè)試Yapi VO
*
* @author maodudu
* @version 1.0
* @date 2022/6/19 21:17
*/
public class TestYapiVO {
/**
* 名稱
*/
private String name;
/**
* 年齡
*/
private Integer age;
/**
* 性別
*/
private SexEnum sex;
/**
* 資產(chǎn)
*/
private BigDecimal money;
/**
* 朋友列表
*/
private List<FriendBO> friends;
/**
* 朋友BO
*/
public static class FriendBO {
/**
* 朋友名稱
*/
private String friendName;
/**
* 朋友性別
*/
private SexEnum friendSex;
}
}
性別枚舉類:
/**
* 性別枚舉類
*
* @author maodudu
* @version 1.0
* @date 2022/6/19 21:27
*/
public enum SexEnum {
/**
* 男
*/
MAN,
/**
* 女
*/
WOMAN,
;
}
更新單個(gè)API
在上文的基礎(chǔ)上,如果有一個(gè)controller中有多個(gè)接口,我們只想更新其中某一個(gè)接口應(yīng)該怎么操作呢?
【步驟一】: 在對(duì)應(yīng)controller 鼠標(biāo)右鍵,單擊 Export Api

【步驟二】: 在彈出的面板中按需選擇要更新的接口,回車即可

擴(kuò)展知識(shí)點(diǎn):
當(dāng)我們第一次執(zhí)行上文中的【第四步】同步接口到Y(jié)Api,我們輸入Token之后,我們的idea中會(huì)對(duì)其進(jìn)行保存,可通過(guò) Idea => Settings => Other Settings => EasyApi 面板查看
