摘要:版本升級每個文件方法頭標明版本號,每次修改需修改版本號大于原版本號,即為版本升級。
這些天項目有的API出現(xiàn)版本控制問題,著實忙乎了一小陣,因為項目使用TP5的傳統(tǒng)方法進行版本控制(api目錄下進行版本區(qū)分,由請求路徑?jīng)Q定使用的版本)
但是問題往往是,項目使用了v2版本,但是后端又新建了v3,而前端不知情,所以也趁著這次機會,探索了較為實用的前后端分離問題與解決方案,并做整理。
較明顯的問題1.后端 API 產(chǎn)能不免,供給不上的問題
2.后端 API 出現(xiàn) BUG,需要等待修復的問題
3.前后端溝通差異導致API實現(xiàn)的偏差
4.后端 API 發(fā)生了修改,沒有通知到前端,showcase 的時候發(fā)現(xiàn)了 bug
1.后端規(guī)范功能函數(shù)集、功能模塊集、統(tǒng)一返回格式與方法、提高代碼復用率,從而提高后端API產(chǎn)能問題
問題2解決方案1.API出現(xiàn)BUG,前端提出BUG,并設置修復期限、BUG等級、修復獎勵記錄
2.API從完成到正式使用有三天使用內(nèi)測期,內(nèi)測期內(nèi)前端發(fā)現(xiàn)BUG有獎勵記錄
3.前端內(nèi)測期外的API出現(xiàn)BUG次數(shù)作限制,超過則懲罰記錄
4.后端內(nèi)測期外的API出現(xiàn)BUG次數(shù)作限制,超過則懲罰記錄
使用API敏捷原型開發(fā)方法:
--前端構(gòu)造理想IO,即參數(shù),返回數(shù)據(jù)格式等等(半天)
--后端思考實現(xiàn)可行性,調(diào)整IO(半天)
--后端實現(xiàn)API(協(xié)商時間),鎖定API版本(具體實現(xiàn)參考下面方案)
實現(xiàn)一個簡易型的消息系統(tǒng)(我們使用了基于swoole實現(xiàn)的websocket,具體可參考我的開源小框架)
1.后端
--API完成
--與前端確認OK,則API鎖定版本V1.0(自動記錄鎖定情況到日志)
2.需求變化/其他變動
--解鎖API(自動通知前端,XXAPI版本解鎖了),不解鎖則無法提交成功
--修改完成后更新API版本,重復步驟1即可
API版本解鎖:每個API文件方法頭標明版本號,每次修改需修改版本號,即為解鎖。
API版本升級:每個API文件方法頭標明版本號,每次修改需修改版本號大于原版本號,即為版本升級。
實現(xiàn)步驟1.所有API按特定模塊歸類,例如admin后臺模塊,在API目錄里編寫相應的各個API文件,或如上圖進行區(qū)分
2.記錄所有模塊API目錄的路徑到腳本,在開發(fā)人員提交的時候?qū)@些路徑進行檢查
3.編寫檢查API的腳本,工作流程如下:提交時鉤子檢查API文件里的API方法是否無解鎖的情況下被修改,即提交的文件如果是API目錄下的API文件,則該文件方法注釋里的版本號是否與原函數(shù)一致,一致且函數(shù)內(nèi)容不一樣,提交失敗并提示
4.如果提交的API文件版本大于原版本,短信通知過前端,提交成功
提交代碼時共觸發(fā)兩個腳本,一個做檢查,一個做記錄(記錄前端人員的電話,API目錄)
以上為粗略說明,若有錯誤與更好建議,請留言反饋,謝謝。
創(chuàng)作不易,GitHub 右上角點 Star 支持下吧,謝謝^_^
基于swoole的實時消息通信框架
基于Fastadmin整合阿里云OSS,Redis,物流,短信的后臺系統(tǒng)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/29113.html
摘要:前后端分離的開發(fā)方式在最近幾年突然火起來,松哥認為有兩方面的原因前端的發(fā)展。不變其實除了前后端交互方式發(fā)生變化之外,其他的地方都是不變的。 事情的起因是這樣的,有個星球的小伙伴向邀請松哥在知乎上回答一個問題,原題是: 前后端分離的時代,Java后臺程序員的技術(shù)建議? 松哥認真看了下這個問題,感覺對于初次接觸前后端分離的小伙伴來說,可能都會存在這樣的疑問,于是決定通過這篇文章和大家聊一...
摘要:前后端的界限是按照瀏覽器和服務器的劃分。前后端彼此互不關(guān)聯(lián)。關(guān)于作者本文部分圖片段落參考文章實踐中的前后端分離。淘寶前后端分離實踐本文源碼詳見服務端代碼。 一、起源 (故事純屬虛構(gòu),如有雷同,純屬巧合)傳說在很久很久以前,我們有志之士有了個創(chuàng)業(yè)的想法,于是乎開始了自己的創(chuàng)業(yè)之夢,但是人手不足啊,于是乎所有角色老子一個人全包了: Roles: PM, DBA, RD, FED, Des...
摘要:前后端的界限是按照瀏覽器和服務器的劃分。前后端彼此互不關(guān)聯(lián)。關(guān)于作者本文部分圖片段落參考文章實踐中的前后端分離。淘寶前后端分離實踐本文源碼詳見服務端代碼。 一、起源 (故事純屬虛構(gòu),如有雷同,純屬巧合)傳說在很久很久以前,我們有志之士有了個創(chuàng)業(yè)的想法,于是乎開始了自己的創(chuàng)業(yè)之夢,但是人手不足啊,于是乎所有角色老子一個人全包了: Roles: PM, DBA, RD, FED, Des...
摘要:什么是前后分離前后端分離并不是什么新鮮事,到處都是前后端分離的實踐。然而一些歷史項目在從一體化設計轉(zhuǎn)向前后端分離的架構(gòu)時,不可避免的會遇到各種各樣的問題。搞了一個前后分離,需要分離部署。 探究 :深入聊聊前后分離架構(gòu) 前后分離,一直是一個相當泛泛的問題,前后分離到底好不好?沒有絕對的對,沒有絕對的錯,業(yè)界就這個問題已經(jīng)激烈的探討幾年了.出現(xiàn)討論的點在于:分離當然是好的,但是以什么樣的服...
摘要:什么是前后分離前后端分離并不是什么新鮮事,到處都是前后端分離的實踐。然而一些歷史項目在從一體化設計轉(zhuǎn)向前后端分離的架構(gòu)時,不可避免的會遇到各種各樣的問題。搞了一個前后分離,需要分離部署。 探究 :深入聊聊前后分離架構(gòu) 前后分離,一直是一個相當泛泛的問題,前后分離到底好不好?沒有絕對的對,沒有絕對的錯,業(yè)界就這個問題已經(jīng)激烈的探討幾年了.出現(xiàn)討論的點在于:分離當然是好的,但是以什么樣的服...
閱讀 1651·2023-04-25 16:29
閱讀 959·2021-11-15 11:38
閱讀 2299·2021-09-23 11:45
閱讀 1427·2021-09-22 16:03
閱讀 2542·2019-08-30 15:54
閱讀 1205·2019-08-30 10:53
閱讀 2605·2019-08-29 15:24
閱讀 1104·2019-08-26 12:25