java開發(fā)api接口如何編寫 后端開發(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)集成。
java業(yè)務(wù)邏輯,寫在哪里比較好?
現(xiàn)在很多公司的開發(fā)人員都應(yīng)該采用MVC架構(gòu)。
MVC是所謂的模型、視圖、控制器。
每一層都有明確的分工。
對(duì)于簡(jiǎn)單的項(xiàng)目,不管nignx如何,網(wǎng)關(guān)通常都會(huì)將請(qǐng)求從前端發(fā)送到后端,首先發(fā)送到控制器,然后發(fā)送到服務(wù)層,然后發(fā)送到Dao層。
這里的服務(wù)層就是所謂的業(yè)務(wù)層,專門負(fù)責(zé)業(yè)務(wù)處理操作,而Dao層則負(fù)責(zé)處理數(shù)據(jù)庫,將數(shù)據(jù)庫中的數(shù)據(jù)帶回服務(wù),經(jīng)過服務(wù)處理后返回控制器層??刂破魍ㄟ^視圖解析器解析頁面,并通過瀏覽器呈現(xiàn)頁面。
基本上,我認(rèn)為答案是顯而易見的。也就是說,Java業(yè)務(wù)邏輯是在服務(wù)層編寫的。
事實(shí)上,服務(wù)層涉及接口和接口實(shí)現(xiàn)。
在編寫代碼時(shí),我們通常為控制器定義一個(gè)調(diào)用接口。
實(shí)際上,服務(wù)接口的實(shí)現(xiàn)類應(yīng)該是編寫業(yè)務(wù)邏輯的地方。
當(dāng)然,許多公司可能有多個(gè)服務(wù)層,例如,有一個(gè)管理層繼續(xù)對(duì)數(shù)據(jù)進(jìn)行特殊的業(yè)務(wù)處理。這里只是一個(gè)簡(jiǎn)單的概述。
每個(gè)公司的每個(gè)項(xiàng)目根據(jù)其自身業(yè)務(wù)可能有不同的體系結(jié)構(gòu)。但本質(zhì)是一樣的。
綜上所述,業(yè)務(wù)邏輯必須作為一個(gè)獨(dú)立的層來處理,這樣便于擴(kuò)展和維護(hù)。記住不要在控制器中編寫所有業(yè)務(wù)邏輯。
每一層都有自己的分工,是捏合在一起的。代碼不僅冗長(zhǎng),而且雜亂無章。
好吧,我希望我的回答能幫助你
!如果你有興趣,可以關(guān)注一下,一起學(xué)習(xí)交流!