后端api接口設(shè)計(jì) 后端開發(fā)完接口才給出接口文檔,合理嗎?你怎么看?
后端開發(fā)完接口才給出接口文檔,合理嗎?你怎么看?一個(gè)非常好的問題。我是一個(gè)web應(yīng)用程序架構(gòu)師,多年來一直致力于回答這個(gè)問題。歡迎跟我來了解更多。后端提供接口文檔為時(shí)已晚,這是合理和不合理的。根據(jù)具體
后端開發(fā)完接口才給出接口文檔,合理嗎?你怎么看?
一個(gè)非常好的問題。我是一個(gè)web應(yīng)用程序架構(gòu)師,多年來一直致力于回答這個(gè)問題。歡迎跟我來了解更多。
后端提供接口文檔為時(shí)已晚,這是合理和不合理的。根據(jù)具體情況,總有解決辦法。讓我談?wù)勎业挠^點(diǎn)。
不合理:成熟的技術(shù)團(tuán)隊(duì)重視功能設(shè)計(jì),在編寫代碼之前有完整的技術(shù)文檔和功能定義。即使在TDD測(cè)試驅(qū)動(dòng)的開發(fā)模式下,測(cè)試數(shù)據(jù)已經(jīng)準(zhǔn)備好了,那么接口邏輯就已經(jīng)確定了接口文檔是否編寫好了,理清它們是很自然的。
-第一,主觀原因。原因是多方面的,比如趕進(jìn)度,沒有時(shí)間,不懶得寫,甚至在開發(fā)前沒有仔細(xì)設(shè)計(jì),在做的時(shí)候也有變化。真的沒有好辦法。
-客觀原因:需求在變化,功能在變化,接口也在變化。所以,如果你寫了一個(gè)文件,它的自然更新和維護(hù)?天哪?
有解決方案嗎?建議嘗試:[1]swagger接口文檔,將文檔集成到代碼中,集成維護(hù)文檔和修改代碼,在修改代碼邏輯的同時(shí)方便修改文檔描述。
2、郵遞員界面測(cè)試工具,導(dǎo)入導(dǎo)出JSON文件,高效的團(tuán)隊(duì)合作。Postman支持各種請(qǐng)求方法和配置環(huán)境變量,對(duì)返回的結(jié)果進(jìn)行測(cè)試和驗(yàn)證,支持批量自動(dòng)操作,可與自動(dòng)構(gòu)建系統(tǒng)集成。
前后端分離的項(xiàng)目怎么對(duì)接?
前端和后端的分離提高了整個(gè)體系結(jié)構(gòu)的靈活性,連接點(diǎn)在于通信和標(biāo)準(zhǔn)的制定。對(duì)于前端和后端分離的項(xiàng)目,前端和后端需要制定接口標(biāo)準(zhǔn),包括要使用的格式和參數(shù)。對(duì)接的核心必須是溝通,開發(fā)團(tuán)隊(duì)經(jīng)常會(huì)犯以下錯(cuò)誤:前端和后端只注重自身的開發(fā)功能,而不注重整體功能和用戶體驗(yàn);前端和后端開發(fā)的一面強(qiáng)或懶,導(dǎo)致界面隨意,整體混亂。所以良好的溝通是溝通的唯一方式。
如何正確理解軟件系統(tǒng)架構(gòu)的前后端分離?
首先:軟件系統(tǒng)架構(gòu)的前端和后端分離是近年來比較多的,隨著互聯(lián)網(wǎng)的快速發(fā)展,提高了前端和后端交互的響應(yīng)速度,改善了用戶體驗(yàn),產(chǎn)生了前端和后端分離的架構(gòu)。例如,Vue和nodejs與微服務(wù)架構(gòu)相結(jié)合。前端頁面用于呈現(xiàn)UI顯示效果,后端負(fù)責(zé)編寫API服務(wù)提供數(shù)據(jù)。Nodejs還可以作為一個(gè)橋梁引入,通過后端API連接JSON輸出,并返回前端進(jìn)行頁面顯示。
其次,基于前后端分離的架構(gòu),一方面提高了響應(yīng)速度,數(shù)據(jù)計(jì)算過程在中間層處理,在前端顯示;避免了傳統(tǒng)的大數(shù)據(jù)量請(qǐng)求服務(wù)器的壓力,性能也得到了提高中間層內(nèi)部處理拼接,采用多組件、分片、分卡方式實(shí)現(xiàn)并行加載和顯示,在非WiFi 3G和2G的弱網(wǎng)絡(luò)環(huán)境下性能提高,優(yōu)勢(shì)更加明顯,模板并行加載、優(yōu)先加載、優(yōu)先顯示,改善用戶的互動(dòng)體驗(yàn)。
最后:從經(jīng)典的MVC架構(gòu)到SSM和SSH的Java框架時(shí)代,再到angularjs和Vue等前端框架,雖然技術(shù)和架構(gòu)不斷發(fā)展和完善,但本質(zhì)上都是為了更方便的解決需求。前端和后端架構(gòu)的分離也是一個(gè)解耦的過程,它不綁定前端和后端,這也符合SOA的理念,基于企業(yè)服務(wù)的總線實(shí)現(xiàn)了應(yīng)用系統(tǒng)對(duì)接的松耦合,有效地連接和對(duì)接了應(yīng)用、文檔和數(shù)據(jù)在插件和插件模式下,以組件構(gòu)建、平臺(tái)構(gòu)建和架構(gòu)支撐的方式共同構(gòu)建企業(yè)信息化建設(shè),以更專業(yè)的平臺(tái)實(shí)現(xiàn)其專業(yè)領(lǐng)域的工作,助力企業(yè)信息化發(fā)展。