現(xiàn)在微服務(wù)的開(kāi)發(fā)模式扯旷,避免不了前后端進(jìn)行聯(lián)調(diào)的工作拯爽。所以后端定義了接口,是需要輸出給前端開(kāi)發(fā)人員的钧忽。
- 目前java體系使用最多的是
springfox
進(jìn)行集成,網(wǎng)上有很多相關(guān)的文章和代碼逼肯,這里就不著重介紹了耸黑。下面講講在工作中發(fā)現(xiàn)的springfox
的優(yōu)勢(shì)和劣勢(shì)
具有的優(yōu)勢(shì)
- 和
SpringBoot
集成相對(duì)簡(jiǎn)單,只需要引入對(duì)應(yīng)的jar包篮幢,進(jìn)行一些簡(jiǎn)單配置就可以使用 - 接口文檔頁(yè)面隨著進(jìn)程一起啟動(dòng)大刊,一起關(guān)閉,并且直接可以訪問(wèn)當(dāng)前服務(wù)的接口三椿,方便本地和測(cè)試環(huán)境的開(kāi)發(fā)和調(diào)試
- 和
eureka
方便進(jìn)行結(jié)合缺菌,直接從eureka
可以通過(guò)鏈接地址點(diǎn)到對(duì)應(yīng)的服務(wù)swagger頁(yè)面
存在的劣勢(shì)
- 如果是微服務(wù)葫辐,那么每個(gè)實(shí)例啟動(dòng)都會(huì)帶有接口文檔頁(yè)面,造成微服務(wù)的jar包相對(duì)臃腫伴郁、服務(wù)啟動(dòng)時(shí)間變長(zhǎng)
- 文檔應(yīng)該和服務(wù)不進(jìn)行耦合耿战,沒(méi)有服務(wù)應(yīng)該前端人員也可以查看接口文檔
- 只能訪問(wèn)本地進(jìn)程的服務(wù)
- 對(duì)于沒(méi)有外網(wǎng)地址的云主機(jī),無(wú)法打開(kāi)接口文檔頁(yè)面焊傅,進(jìn)行調(diào)試
現(xiàn)有的問(wèn)題
- 目前我們服務(wù)部署在阿里云上面剂陡,并且微服務(wù)部署的服務(wù)器,沒(méi)有外網(wǎng)地址狐胎,所以不能直接使用
springfox
進(jìn)行集成鸭栖,辦公網(wǎng)絡(luò)無(wú)法進(jìn)行訪問(wèn)。 - 微服務(wù)啟動(dòng)時(shí)間變長(zhǎng)握巢,想盡量減少依賴的jar包晕鹊,提升服務(wù)啟動(dòng)速度。
- 不想文檔頁(yè)面依賴于啟動(dòng)的服務(wù)暴浦,需要進(jìn)行解耦