SpringBoot整合Swagger管理API接口詳解

      網(wǎng)友投稿 1084 2022-05-29

      Swagger概念

      傳統(tǒng)API文檔管理缺點:

      - 對API文檔更新時需要通知前端人員,導致文檔更新交流不及時,API接口返回信息不明確

      - 缺乏在線接口測試,需要使用額外的API測試工具:postman,SoapUI

      - 接口文檔太多,不便于管理

      SpringBoot整合Swagger管理API接口詳解

      為了解決傳統(tǒng)API文檔維護問題,方便進行測試后臺RESTful接口并實現(xiàn)動態(tài)更新,引入Swagger接口工具

      Swagger工具優(yōu)點:

      - 功能豐富: 支持多種注解,自動生成接口文檔界面,支持在界面測試API接口功能

      - 及時更新: 在開發(fā)工程中編寫好注釋,就可以及時更新API文檔

      - 整合簡單: 通過添加pom.xml依賴和簡單配置,內(nèi)嵌于應用中就可同時發(fā)布API接口文檔界面,不需要部署獨立服務

      整合Swagger生成API文檔

      springboot項目

      1.引入Maven依賴springfox-swagger2和springfox-swagger-ui 2.創(chuàng)建SwaggerConfig類實現(xiàn)Swagger生成API文檔邏輯: 生成API文檔的掃包范圍apis 創(chuàng)建API文檔信息ApiInfoBuilder.title("文檔標題").description("文檔描述").termOfServiceUrl("網(wǎng)址Url").version("版本號").build() 3.在SwaggerConfig類上標注@EnableSwagger2注解開啟Swagger功能 4.創(chuàng)建SwaggerController類,在類中創(chuàng)建API接口 5.在SwaggerController類上標注@Api("接口描述")注解作整體接口描述 6.在SwaggerController類里API接口上被標注@ApiOperation("具體接口描述")注解,標注@ApiImplicitParam(name="參數(shù)名稱",value="參數(shù)值",required=true,dataType="參數(shù)類型") 7.注意:不要在API接口類上標注RequestMapping注解(這樣會生成所有請求接口,沒有可讀性),根據(jù)相應的請求方式,標注@XxxMapping注解 8.創(chuàng)建啟動類啟動

      微服務集群項目

      在微服務項目中,Swagger是在每個服務進行集成的,需要將整個微服務中的Swagger進行合成到同一臺服務器上:

      - 使用Zuul+Swagger實現(xiàn)

      - 使用Nginx+Swagger實現(xiàn),以項目類型跳轉(zhuǎn)到不同的接口文檔

      SpringBoot中支持對Swagger進行管理,只需要在Zuul網(wǎng)關中添加對應服務的Swagger文檔即可

      原理: 每個獨立服務都會集成Swagger自動生成API文檔,前端發(fā)送服務請求到Zuul網(wǎng)關,Zuul根據(jù)請求調(diào)用對應服務的Swagger查詢API接口

      在各個微服務的類中: 1.在各個微服務中引入SpringBoot支持的Swagger依賴swagger-spring-boot-starter 2.配置文件,可省略不寫: (swagger.base-package=需要生成文檔的包名) 3.在微服務的主類上標注@EnableSwagger2Doc文檔注解,生成Swagger文檔, 4.在微服務的主類上標注@Api("接口描述")注解作整體接口描述 5.在SwaggerController類里API接口上被標注@ApiOperation("具體接口描述")注解 6.標注@ApiImplicitParam(name="參數(shù)名稱",value="參數(shù)值",required=true,dataType="參數(shù)類型") 在Zuul網(wǎng)關類中: 1.引入SpringBoot支持的Swagger依賴swagger-spring-boot-starter 2.在Zuul網(wǎng)關類中創(chuàng)建SwaggerAPI文檔的配置類邏輯方法 添加文檔來源:resource.add(swaggerResource("文檔名稱","API接口文檔","版本號")) 3.在SwaggerAPI文檔的配置類上標注@Component將配置類添加到容器中 4.在Zuul網(wǎng)關類上標注@EnableSwagger2Doc開啟Swagger文檔注解

      API Spring Boot

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:三十、Pyspider爬蟲框架總結(jié),爬取Scrapy文檔
      下一篇:《信息化項目文檔模板六——系統(tǒng)開發(fā)計劃模板》
      相關文章
      亚洲毛片一级带毛片基地| xvideos亚洲永久网址| 久久久久亚洲AV无码专区网站| 亚洲精品GV天堂无码男同| 亚洲综合久久精品无码色欲| 91亚洲性爱在线视频| 亚洲大香人伊一本线| 国产成人亚洲精品| 亚洲天堂免费在线| 学生妹亚洲一区二区| 亚洲色成人网站WWW永久四虎| 亚洲熟妇AV日韩熟妇在线| 亚洲成年网站在线观看| 亚洲国产精品自在自线观看| 亚洲丰满熟女一区二区哦| 国产精品久久亚洲一区二区| 亚洲Av无码乱码在线znlu| 精品国产日韩亚洲一区| 亚洲精品无码专区在线在线播放| 亚洲综合无码AV一区二区| 亚洲AV无码一区二区二三区入口| 久久99国产亚洲精品观看| 亚洲黄色网址大全| 亚洲an日韩专区在线| 亚洲乱妇老熟女爽到高潮的片| 日本亚洲欧美色视频在线播放 | 国产成人亚洲精品播放器下载| 国产精品亚洲专区一区| 亚洲丰满熟女一区二区哦| 亚洲人成高清在线播放| 亚洲伊人久久大香线蕉结合| 亚洲久悠悠色悠在线播放| 亚洲av无码专区在线观看亚| 看亚洲a级一级毛片| 久久亚洲国产精品123区| 亚洲男人的天堂在线播放| 亚洲伦理一二三四| 亚洲a∨国产av综合av下载| 久久国产成人亚洲精品影院 | 麻豆亚洲AV成人无码久久精品| 亚洲高清免费视频|