Api接口文檔生成工具:Swagger2
尊敬的讀者,記得加關注、點贊喲,您的認可是我最大的動力,謝謝
現如今,前後端分離已經逐漸成爲互聯網項目一種標準的開發方式,前端與後端交給不同的人員開發,
但是項目開發中的溝通成本也隨之升高,這部分溝通成本主要在於前端開發人員與後端開發人員對WebAPI接口的溝通,Swagger2 就可以很好地解決,它可以動態生成Api接口文檔,降低溝通成本,促進項目高效開發。
下面就來說一下Swagger2的使用。
SpringBoot集成Swagger2
1、pom.xml添加依賴
這裏使用swagger2 Maven依賴的最新版本2.9.2
2、Swagger2配置類
將Swagger2一些配置改爲讀取外部配置文件中的參數,可在所有的api中添加固定參數,比如token,掃描包的路徑也擴展爲支持多個,想進一步瞭解,歡迎留言。
3、在開發中使用相關注解
@Api
使用在Controller層Api類上,主要屬性有tags(標籤)、hidden(是否隱藏)、value、authorizations等。
@ApiOperation
使用在Api類的接口方法上,主要屬性有value(接口名稱)、notes(註釋)、hidden(是否隱藏)、httpMethod、ignoreJsonView、response、responseHeaders等等,某些屬性註解可自動識別,無需配置。
@ApiImplicitParams、@ApiImplicitParam
使用在Api類的接口方法上,對接口參數進行說明,@ApiImplicitParams只有一個屬性value,@ApiImplicitParam主要屬性有name(參數名稱)、value(參數說明)、required(是否必需)、dataType(數據類型)、paramType(參數類型)、dataTypeClass、defaultValue、readOnly等。
@ApiModel
用在實體類上,主要屬性有description(描述)、parent(父類)、subTypes、value、discriminator等。
@ApiModelProperty
用在實體類屬性上,主要屬性有access、accessMode、allowableValues、allowEmptyValue(是否允許爲空)、dataType(數據類型)、example(示例)、hidden(是否隱藏)、name(名稱)、notes、required(是否必需)、value(說明)等。
注意:
要保證實體類屬性都有相應的get、set方法,否則swagger-ui頁面上無該屬性說明。
4、swagger-ui界面
頁面地址:/swagger-ui.html
5、補充
還有其他相關注解: