靜態(tài)的 Swagger 們跟不上頻繁變更的代碼
“為什么改了這個沒告訴我”,“實際功能和文檔上說的不一樣啊”。這些話大家做開發(fā)的想必耳朵都聽出老繭了。真不是故意的,有時候任務(wù)比較急,就先改了代碼,想著以后再同步文檔,然后就給忘了。項目更新又全靠社交軟件通知,人一多難免有一兩個沒及時溝通到的。確實給合作的小伙伴帶來麻煩,但說實話開 發(fā)也挺委屈的。
這些問題產(chǎn)生的主要原因是,當(dāng)前大部分研發(fā)團(tuán)隊的工作流程是這樣的:

舊協(xié)作模式
這種模式帶來的問題是:
1. Swagger ,postman ,MockJS 只能完成軟件研發(fā)流程中某個環(huán)節(jié)的功能,完成接口設(shè)計,文檔編寫,調(diào)試,測試驗證等工作需要使用好幾個工具;
2.更麻煩的是這些工具數(shù)據(jù)格式不互通,無法互相導(dǎo)入,造成用 Swagger 定義和編寫完成接口后,在 Postman, MockJS , Jmeter 等工具還要再去手動填寫一遍才能開始工作,增加了無意義的工作量。
3.溝通成本總是被忽略不計,但實際上不僅占據(jù)了很大的時間,各種溝通不及時、溝通不到位還非常讓人心累。
4.老板的需求來得急,老板的需求變得快,各種代碼修改和變更難以及時通知和同步到團(tuán)隊成員手中。
抱怨當(dāng)然政治正確,但有啥用,該加的班還是要加。那么有什么辦法可以解決這個問題嗎?
有的。
換個工具。
低成本做長期主義的事情
我為大家提供的解決方案是一款國內(nèi)的生產(chǎn)力工具——?Apifox?。
作為一款研發(fā)全流程,接口全周期的生產(chǎn)力工具,這款軟件真正完成了數(shù)據(jù)流的打通,在一個軟件上就能實現(xiàn)接口設(shè)計—接口文檔—接口調(diào)試—接口修改—接口 mock —接口測試—接口自動化—接口迭代的工作流閉環(huán);
后端,前端,測試各個角色既能各取所需,又能協(xié)同合作。

Apifox 上的協(xié)作流程是這樣的:
后端在 Apifox?可視化接口設(shè)計界面上定義好項目各個接口及對應(yīng)參數(shù)同時編寫接口文檔說明
前后端一起評審,修改完善接口并在同一界面順手更新接口文檔
后端使用接口調(diào)試功能調(diào)試接口
前端使用零配置高仿真 mock?功能對前端頁面進(jìn)行調(diào)試,無需手寫 mock 規(guī)則
后端使用代碼生成功能直接生成接口代碼
測試在接口管理頁面一鍵生成接口參數(shù)測試用例,并依據(jù)業(yè)務(wù)場景生成自動化測試用例,一鍵運行接口用例并生成接口測試報告并分享給相關(guān)人員。
前后端?都開發(fā)完,前端從?Mock 數(shù)據(jù)切換到正式數(shù)據(jù),進(jìn)行聯(lián)調(diào),由于使用同一個接口數(shù)據(jù)源,且遵循了接口規(guī)范,聯(lián)調(diào)順利
由于bug 修復(fù)或需求變更,接口發(fā)生了變化,后端修改提交后,前端和測試實時同步到了修改后的數(shù)據(jù)
項目經(jīng)理通過權(quán)限設(shè)置給研發(fā),產(chǎn)品,測試,外部合作人員分配編輯,只 讀等各種操作權(quán)限,維護(hù)了項目安全
項目經(jīng)理通過各個接口的狀態(tài)開發(fā)中,測試中,已發(fā)布來跟進(jìn)項目的進(jìn)度情況,把控項目風(fēng)險。
Apifox 核心功能和界面是這樣的:

接口設(shè)計

接口調(diào)試

智能 mock

接口自動化
36氪報道過,?Apifox 在 Pre-A 輪融資就得到了 3000 萬元的融資。 資本市場如此看好這個產(chǎn)品的發(fā)展?jié)摿Γ且驗樵诮?jīng)濟(jì)增速變緩的現(xiàn)階段,
對企業(yè)來說,它能通過提高整體的合作效率來為企業(yè)節(jié)約成本;
對研發(fā)人員來說,可以減少無意義的工作量和繁雜耗時的溝通成本,將時間花在能
提升自身競爭力的地方。
Apifox > Swagger + Postman + mockJS + Jmeter ,它在傳統(tǒng)軟件的基礎(chǔ)上做了不少操作優(yōu)化和團(tuán)隊協(xié)同提效的功能。
Apifox 做的增速提效優(yōu)化
1.接口設(shè)計:從代碼生成界面到可視化接口設(shè)計界面
Apifox 接口文檔遵循 OpenApi 3.0 (原 Swagger )、 JSON Schema 規(guī)范,可生成在線文檔;零學(xué)習(xí)成本即可編寫出符合 RESTful 風(fēng)格的接口文檔,新人上手快;所見即所得,不易出錯。

Swagger 通過寫代碼生成接口頁面

Apifox 可視化接口設(shè)計頁面
2.文檔維護(hù):從接口與文檔分離到接口與文檔合并
當(dāng)你接手舊項目時,發(fā)現(xiàn)接口是上周的,接口文檔是商 周的,上手新項目全靠老司機口口相傳,內(nèi)心大概是崩潰的吧。
接口與文檔分離常常導(dǎo)致維護(hù)困難。Apifox 的接口設(shè)計界面提供了 Markdown 格式的文檔說明區(qū),修改完接口就如同 commit 代碼時添加變更說明般,自然而然地形成肌肉記憶。

接口設(shè)計頁面提供了接口文檔說明區(qū)
3.數(shù)據(jù)復(fù)用:從各自為政到定義一次、多次復(fù)用接口數(shù)據(jù)復(fù)用:Swagger ,Postman ,MockJS ,Jmeter 等軟件彼此之間數(shù)據(jù)不互通,數(shù)據(jù)格式不一致,接口導(dǎo)入非常 耗 時 麻煩。
而 Apifox 能身兼多職,包攬上述軟件功能,在 Apifox 中 定義一次接口,能被后端直接用來調(diào)試,前端直接用來 mock 界面,測 試 直接執(zhí)行接口自動化。
數(shù)據(jù)模型復(fù)用:可復(fù)用的數(shù)據(jù)結(jié)構(gòu),定義接口返回數(shù)據(jù)結(jié)構(gòu)及請求參數(shù)數(shù)據(jù)結(jié)構(gòu)(僅 JSON 和 XML 模式)時可直接引用。

定義數(shù)據(jù)模型

引用數(shù)據(jù)模型
4.同步更新,高效溝通:從溝通滯后到數(shù)據(jù)變更即時同步
當(dāng)前團(tuán)隊成員之間同步項目信息數(shù)據(jù),仍舊依靠著社交軟件,低效、不及時,也容易漏掉某些成員。
Apifox 為此提供了同步功能,一旦接口數(shù)據(jù)有更新發(fā)生,就會即時同步更新并通知到項目內(nèi)所有成員。

5.零配置 mock 高仿真數(shù)據(jù):從苦逼造數(shù)據(jù)到零配置 mock 真實數(shù)據(jù)
Apifox 根據(jù)接口定義里的數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)類型,
自動生成?mock 規(guī)則。Apifox?內(nèi)置智能 mock 規(guī)則庫,根據(jù)字段名、字段數(shù)據(jù)類型,智能優(yōu)化自動生成的 mock 規(guī)則。
用戶還可以自定義規(guī)則庫,滿足各種個性化需求。支持使用 正則表達(dá)式、通配符 來 匹配字段名自定義 mock 規(guī)則。

內(nèi)置 mock 規(guī)則,并能自定義規(guī)則
除此之外
6.舊有項目無痛遷移
目前 Apifox 支持 OpenApi,Postman,Jmeter 等數(shù)據(jù)格式導(dǎo)入,方便舊有項目一鍵無痛遷移到 Apifox ,無需再次新建項目。

項目導(dǎo)入
項目也支持以 html 或者 OpenApi ,Markdown 格式導(dǎo)出,可用于數(shù)據(jù)備份或合作人員查看。

7.API Hub
內(nèi)置企業(yè)微信開放 API ,抖音開放 API 等第三方接口開放項目,接口可以直接在 Apifox 中調(diào)試,不需要到處找接口文檔和手工填寫接口。

API Hub
同時 Apifox 也提供了網(wǎng)頁版 API Hub ,直接在網(wǎng)頁端調(diào)試也完全沒問題。

網(wǎng)頁版 API Hub
8.Web 版本
除了客戶端,還支持 web 版本,用戶可以移動辦公,任意切換設(shè)備,適合緊急加班這種情況。

官網(wǎng) Web 版入口
9.完全免費
這個軟件 SaaS 版本官方已經(jīng)承諾永久免費,只有私有化部署是付費的。而且 SaaS 版本
不限接口數(shù)量,不限項目人數(shù),不限功能,非常厚道,對于日常開發(fā)來說, SaaS 版本已經(jīng)完全夠用了。
下載地址
介紹了 Apifox 這么多實用的功能,用上了才是真生產(chǎn)力!
如果小伙伴覺得好用,可以直接去他們的官網(wǎng)下載,復(fù)制下面的鏈接,粘貼到瀏覽器打開即可下載,或者點擊
閱讀原文直達(dá)!
官網(wǎng)地址:http://apifox.cn/a1codergrey