spring boot2.6 swagger不兼容 你平時(shí)主要使用什么Java開發(fā)框架?
你平時(shí)主要使用什么Java開發(fā)框架?以我們的項(xiàng)目為例。我們的項(xiàng)目是純后臺(tái)服務(wù)項(xiàng)目,即沒有前端頁面,只對外提供服務(wù);項(xiàng)目基于Spring Boot,引入spring-boot-starter-web,直
你平時(shí)主要使用什么Java開發(fā)框架?
以我們的項(xiàng)目為例。
我們的項(xiàng)目是純后臺(tái)服務(wù)項(xiàng)目,即沒有前端頁面,只對外提供服務(wù);項(xiàng)目基于Spring Boot,引入spring-boot-starter-web,直接公開接口,消息使用的JSON,很少接口是從舊系統(tǒng)遷移過來的,所以為了讓調(diào)用方盡可能小的修改,保留了XML消息;在正式的生產(chǎn)環(huán)境中,內(nèi)置的Tomcat也是用;集成了Swagger,在線自動(dòng)生成界面文檔。
ORM框架選擇MyBatis。由于項(xiàng)目中的查詢大多是單表查詢,且查詢條件相對固定,所以標(biāo)注做出的SQL語句是直接綁定的。
因?yàn)轫?xiàng)目不僅使用了關(guān)系型數(shù)據(jù)庫,而且經(jīng)過處理關(guān)聯(lián)后在MongoDB中保存了更多的數(shù)據(jù),所以項(xiàng)目也使用了Spring數(shù)據(jù)MongoDB。我們的MongoDB已經(jīng)部署了副本集,使用Spring數(shù)據(jù)MongoDB,通過簡單的配置就可以完成對多個(gè)mongob的訪問。如果其中一個(gè)MongoDB掛了,對服務(wù)沒有影響,所以我們可以在擴(kuò)展MongoDB時(shí)在線進(jìn)行(擴(kuò)展內(nèi)存和CPU時(shí)MongoDB需要停止)。
在與一些系統(tǒng)的交互中使用RabbitMQ,只要將spring-boot-starter-amqp引入Spring Boot,其實(shí)可以很容易地與RabbitMQ集成。生產(chǎn)者和消費(fèi)者都很方便。
因?yàn)槭羌兘涌诜?wù),為了減輕數(shù)據(jù)庫的壓力,我們根據(jù)業(yè)務(wù)場景(數(shù)據(jù)變化不頻繁,業(yè)務(wù)場景對實(shí)時(shí)性要求不是很高)將部分接口的結(jié)果直接緩存到Redis中。在整合Redis的時(shí)候,我們前后嘗試了兩種
Spring Boot項(xiàng)目,最簡單的與Redis集成可以直接使用@Cach
apifox可以離線使用嗎?
可以離線使用。
Apifox函數(shù)
接口設(shè)計(jì):Apifox接口文檔遵循OpenApi 3.0(原Swagger)和JSON Schem。一個(gè)標(biāo)準(zhǔn)的同時(shí),提供了一個(gè)非常容易使用的可視化文檔管理功能,零學(xué)習(xí)成本,非常高效。并支持界面文檔的在線共享。
接口調(diào)試:Apifox擁有Postman的所有功能,比如環(huán)境變量、前/后腳本、Cookie/Session全局共享等等,而且比Postman更高效易用。界面運(yùn)行后,點(diǎn)擊另存為用例按鈕,生成界面用例,然后就可以直接運(yùn)行界面用例,不需要輸入任何參數(shù),非常方便。自定義腳本100%兼容Postman文法,支持運(yùn)行javascript、java、python、php、js、Beanshell、go、shell、ruby、lua等多種語言代碼。
接口用例:通常,一個(gè)接口會(huì)有各種用例,比如參數(shù)正確的用例、參數(shù)錯(cuò)誤的用例、數(shù)據(jù)為空的用例、數(shù)據(jù)狀態(tài)不同的用例等等。運(yùn)行接口用例時(shí),會(huì)自動(dòng)檢查數(shù)據(jù)的正確性,用接口用例調(diào)試接口效率很高。
接口數(shù)據(jù)mock:內(nèi)置的Mock.js規(guī)則引擎非常方便Mock生成各種數(shù)據(jù),你可以在定義數(shù)據(jù)結(jié)構(gòu)的同時(shí)編寫Mock規(guī)則。支持添加期望與展望根據(jù)請求參數(shù)返回不同的模擬數(shù)據(jù)。最重要的是,Apifox zero configuration可以模擬出非常人性化的數(shù)據(jù),本文后面會(huì)介紹。
數(shù)據(jù)庫操作:支持讀取數(shù)據(jù)庫數(shù)據(jù),并將其作為接口請求參數(shù)。支持讀取數(shù)據(jù)庫數(shù)據(jù),用于驗(yàn)證(斷言)接口請求是否成功。
接口自動(dòng)化測試:提供接口集測試,可以通過選擇接口(或者接口用例)快速創(chuàng)建測試集。目前接口自動(dòng)化測試的更多功能還在開發(fā)中,敬請期待!目標(biāo)是:JMeter的所有功能基本都有了,要更好的使用。
快速調(diào)試:一種類似于Postman的接口調(diào)試方法,主要用于臨時(shí)調(diào)試一些沒有文檔的接口,不需要事先定義接口就可以快速調(diào)試。
代碼生成:根據(jù)接口和數(shù)據(jù)模型的定義,系統(tǒng)自動(dòng)生成接口請求代碼、前端業(yè)務(wù)代碼和后端業(yè)務(wù)代碼。
團(tuán)隊(duì)合作:Apifox為團(tuán)隊(duì)合作而生,界面云實(shí)時(shí)同步更新,團(tuán)隊(duì)/項(xiàng)目/成員權(quán)限管理成熟,滿足各類企業(yè)需求。