SpringBoot整合Swagger生成文档

Swagger可以动态的生成API文档,方便程序员在开发的同时更新API的文档信息,简化了工作。原生的Swagger需要通过配置两到三个pom配置项,然后编写配置类进行配置。原生Swagger搭建可参考下面这两篇文档:

SpringBoot整合Swagger2

Swagger注解

后台在网上搜整合框架的时候发现有大神整合了SpringBootSwagger。所以这里记录一下。

spring-boot-starter-swagger 1.2.0.RELEASE:新增分组配置功能

GitHub地址:
swagger-spring-boot-starter

我使用的SpringBoot2.0.0,测试是可以正常生成文档的。

具体的配置项在GitHub上有详细介绍,作者很nice,写的很详细啊。

注解配置使用的是原生Swagger注解,对配置的过程进行了简化,只需要在SpringBootapplication.properties配置文件中进行相关配置。满足基本需要只需要配置三个配置项即可,十分方便。

下面是一些常用配置项的解释:

# 启用Swagger
swagger.enabled=true
# 标题
swagger.title=后台模板工程API文档
# 描述
swagger.description=记录后台模板工程
# 版本
swagger.version=1.2.0.RELEASE
# 许可证
swagger.license=Apache License, Version 2.0
# 许可证URL
swagger.licenseUrl=https://www.apache.org/licenses/LICENSE-2.0.html
# 服务条款URL
swagger.termsOfServiceUrl=https://github.com/dyc87112/spring-boot-starter-swagger
# 维护人
swagger.contact.name=TanJin
# 维护人URL
swagger.contact.url=http://blog.csdn.net/a632189007
# 维护人Email
swagger.contact.email=tanjin@vlifepaper.com
# swagger扫描的基础包,默认:全扫描
swagger.base-package=com.vlife
# 需要处理的基础URL规则,默认:/**
swagger.base-path=/**
# 需要排除的URL规则,默认:空
swagger.exclude-path=/error, /adminlte/**, /actuator

常用注解

@Api   用在类上,说明该类的作用
@ApiOperation  用在方法上,说明方法的作用

@ApiOperation(value = "查找用户", notes = "查找用户", httpMethod = "GET")

value : API含义
notes : API详细介绍
httpMethod : 请求类型
@ApiImplicitParams    用在方法上包含一组参数说明

@ApiImplicitParams({
    @ApiImplicitParam(...),
    @ApiImplicitParam(...)
})
@ApiImplicitParam    用在@ApiImplicitParams注解中,指定一个请求参数的各个方面;或者API仅有一个请求参数时可直接单独使用。

@ApiImplicitParam(name = "id", value = "唯一id", required = true, dataType = "Long", paramType = "path")

paramType:参数放在哪个地方
    header–>请求参数的获取:@RequestHeader
    query–>请求参数的获取:@RequestParam
    path(用于restful接口)–>请求参数的获取:@PathVariable

name:参数名
dataType:参数类型
required:参数是否必须传
value:参数的意思
defaultValue:参数的默认值
@ApiResponses   用于表示一组响应
@ApiResponse    用在@ApiResponses中,一般用于表达一个错误的响应信息


@ApiResponses(value = {  
    @ApiResponse(code = 400, message = "No Name Provided")  
})

code:数字,例如400
message:信息,例如”请求参数没填好”
response:抛出异常的类
@ApiModel  描述一个Model的信息(这种一般用在post创建的时候,使用@RequestBody这样的场景,请求参数无法使用@ApiImplicitParam注解进行描述的时候)

@ApiModel(value = "用户实体类")
@ApiModelProperty   描述一个model的属性


@ApiModelProperty(value = "登录用户")
发布了112 篇原创文章 · 获赞 94 · 访问量 51万+

猜你喜欢

转载自blog.csdn.net/A632189007/article/details/79637338