一、Swagger3使用及好處
1. 在如今前后端分離的時代互纯,swagger能非常好的讓前后端同學(xué)各司其職新啼,根據(jù)API文檔開發(fā)喝噪,提升效率
2. Swagger3能非常明晰的顯示API接口說明汰现,包括方法類型、輸入輸出君账,以及參數(shù)類型繁堡,返回值等,且針對參數(shù)及實體有非常詳細(xì)的注釋說明乡数,讓大家對接口本身功能及調(diào)用更加明晰
3. Swagger3本身也可以通過try it ot來快速調(diào)試問題帖蔓,十分方便
Swagger是一個用于自動生成在線接口文檔的框架,并可在線測試接口瞳脓,可以很好的跟Spring結(jié)合塑娇,只需要添加少量的代碼和注解即可,而且在接口變動的同時劫侧,即可同步修改接口文檔埋酬,不用再手動維護接口文檔
二、為Springboot添加Swagger3
1. 初始化生成Springboot結(jié)構(gòu)烧栋,該部分不再詳細(xì)描述写妥,可以看之前介紹 [http://www.reibang.com/p/7664e77bab2d](http://www.reibang.com/p/7664e77bab2d)
2. 添加maven依賴
image.png
3. 添加swagger3配置
image.png
4. 添加測試實體(用戶實體)
image.png
- 這里有一點,傳統(tǒng)JAVA大家可能會去寫get / set, 后面大家慢慢使用IDE推薦的自動生成Getter/Setter, 但使用Springboot后大家可以使用lombok插件审姓,對于屬性使用非常文件珍特,只需要在類里加入@Data注解即可。那么如何安裝lombok插件呢魔吐,大家可以在File->Settings->Plugins里搜索lombok, 搜索到安裝即可扎筒,當(dāng)然有可能出現(xiàn)在MarketPlace中無法找到該插件,此時可能是因為網(wǎng)絡(luò)無法訪問marketplace酬姆,大家可以在后面的設(shè)置里添加代理地址http://plugins.jetbrains.com嗜桌,然后搜索,當(dāng)然最好是重啟下idea
image.png
- 完成后在pom.xml中添加lombok依賴
image.png
- 這里還有一點需注意辞色,為了讓實體的屬性及實體本身注釋也顯示出來骨宠,這里需要加上ApiModel的注解,針對UserEntity類加入@ApiModel(value = "UserEntity", description = "用戶信息實體")相满,針對其下屬性加下@ApiModelProperty注解
5. Swagger使用层亿,在restcontroller中針對類及方法加相關(guān)注解
- 在接口類上添加@Api(tags = "操作接口"),tags的值是該類的作用立美,在文檔頁面會顯示匿又,value不會顯示
- 在需要生成文檔的接口上添加注解@ApiOperation
- 對請求參數(shù)添加@ApiParam
image.png
三、最終顯示結(jié)果情況
右鍵Run SpringbootswaggerApplication悯辙,啟動完成后琳省,在瀏覽器中輸入[http://localhost:8080/swagger-ui/index.html](http://localhost:8080/swagger-ui/index.html),顯示如下
image.png
- 打開用戶控制器躲撰,默認(rèn)顯示用戶控制器下3個API方法
image.png
- 打開添加用戶信息后如下:
image.png
如:添加一個姓名:test, 性別:男, 年齡: 29针贬,點擊Excute后正常返回true,用戶添加成功
- 打開“獲取用戶信息列表”(無參),Excute后顯示如下 :
image.png
- 打開“通過用戶名獲取用戶信息”拢蛋,顯示如下:
image.png
try it out后桦他,在用戶姓名里輸入"jimmy",結(jié)果如下:
image.png
文章參考文獻地址:
- SpringBoot整合Swagger3生成接口文檔https://zhuanlan.zhihu.com/p/161947638
- SPRINGBOOT配置SWAGGER接口文檔參數(shù)及返回值注釋詳細(xì)操作:[https://www.freesion.com/article/3595581092/]