尊敬的读者,记得加关注、点赞哟,您的认可是我最大的动力,谢谢
现如今,前后端分离已经逐渐成为互联网项目一种标准的开发方式,前端与后端交给不同的人员开发,
但是项目开发中的沟通成本也随之升高,这部分沟通成本主要在于前端开发人员与后端开发人员对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、补充
还有其他相关注解
举报/反馈

IT猿界

180获赞 316粉丝
程序员日常,工作记录,技术要点
关注
0
0
收藏
分享