使用swagger生成API說明文檔


使用swagger生成API說明文檔
本文由個人總結,如需轉載使用請標明原著及原文地址
沒有導出!!!!!不要整天給我留言導出呢,那個是你們百度的時候下面的推薦文章帶的關鍵字,要做導出從swagger取數據,用Thymeleaf這類模板引擎生成word文檔
SwaggerDemo,jar包使用maven進行管理,還沒了解maven的小伙伴可能有無法使用的情況

在做前后端分離的項目時,后端人員總是要寫接口文檔給其他使用者,大家都知道,寫接口文檔是一件吃力不討好的事,而swagger就是為了解決這個問題而存在的,不僅能提供接口文檔,還能提供簡單的傳參測試

要使用swagger,首先你要有一個spring項目

1.導包

 

 

 

我這使用maven統一管理jar包,在pom.xml中加入上面兩個dependency,maven就能自動下載對應jar包,不了解maven的小伙伴自行在百度上找jar包,然后手動導入項目

springfox-swagger2-vesion.jar

springfox-swagger-ui-vesion.jar

2.寫一個swagger配置類

 

 

 

創建的SwaggerConfig要繼承WebMvcConfigurationSupport

@EnableSwagger2 swagger2啟動注解
@ComponentScan(basePackages = {"cn.ycyy.controller"}) 指定需要生成API文檔的類所在的包路徑
@Configuration 聲明這是一個配置類
createRestApi方法不需要更改,主要用於swagger的初始化設置,包括掃描API注解路徑等,用我提供的createRestApi默認掃描當前項目全部路徑,這里的掃描與上面的@ComponentScan不同,這里掃描的不會顯示在swagger-ui(swaggerAPI文檔可視化界面,最后會說)上

apiInfo里的參數設置對應效果如下圖所示

 

 

 

SwaggerConfig文件必須放在spring注解掃描器能掃描到的位置,例如說我的項目都放在cn.ycyy項目下,我指定掃描路徑cn.ycyy那么spring就能把整個項目的注解都掃描到

 

 

 

然后將項目啟動發布到tomcat上,就能訪問swaggerAPI了

訪問的URL也是個固定的格式

http://ip地址:端口/項目名/swagger-ui.html#/

 

3.配置api生成
在先前說了,這里只會顯示@ComponentScan(basePackages = {"cn.ycyy.controller"}),這個路徑下的類生成的API

我的測試案例中只寫了一個UserController所以這里只顯示,UserController及里面的方法

UserController代碼如下

 

 

 

 

 

在類上加上@Api注解

以下參數可不指定

 

 

在方法上加上@ApiOperation注解

以下參數可不指定

 

 

如果方法需要前端傳遞參數,可使用@ApiParam注解

 

 

 如果方法用對象入參的話,在實體類中對屬性加@ApiModelProperty注解

 

 例如我有個方法的參數用User,那么我User類如下配置

 

 

 

 效果如下所示

 

 API文檔中會將User自動分解成User的屬性

4.注解全參數

以下是swagger2注解中的全參數,有興趣可以都試試

@Api 
Api 標記可以標記一個Controller類做為swagger 文檔資源,使用方式

 

 @ApiOperation每一個url資源的定義,使用方式

 

 @ApiParam標記
public ResponseEntity createUser(@RequestBody @ApiParam(value = “user”, required = true) User user)

 

 

 @ApiImplicitParam對容器的描述

 

 

@ApiResponse

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM