SwaggerUI
本文最后更新于:4 个月前
-
⚡SwaggerUI简述
Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。
总体目标是使客户端和文件系统作为服务器以同样的速度来更新。
文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步
-
⚡Spring Boot Maven 依赖
<!-- swagger2 --> <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.9.2</version> </dependency> <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency>
-
⚡配置
在configuration包下,新建SwaggerUIConfiguration
/*在类上加入注解*/ @EnableSwagger2 @Configuration /* 控制swagger是否开启,当application.properties设置中swagger.enable=true,即符合havingValue的期望值时配置生效 */ @ConditionalOnProperty(prefix = "swagger", value = {"enable"}, havingValue = "true" ) public class SwaggerUIConfiguration{ @Bean public Docket createRestfulApi(){ return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.example")) .paths(PathSelectors.any()) .build(); } public ApiInfo apiInfo(){ return new ApiInfoBuilder() .titile("title") .description("====================\n" +"项目名称:xxx\n" +"项目分支:xxx\n" +"项目成员:xxx\n" +"====================\n" +"项目简介:后端采用Spring Boot + Mybatis框架,使用Mysql数据库\n" +"====================\n" +"注意事项:\n" +"1. 后端服务端口号:xxx\n" +"2. develop分支为开发版本,master分支为稳定版本\n" +"3. 每次提交认真写git commit\n\n" +"====================\n") .termsOfServiceUrl("") .version("1.0") .build(); } }
-
⚡注解介绍
注解 | 参数 | 说明 |
---|---|---|
@Api | 用在Contoller控制器类上,标志这个类是Swagger的资源 | |
value | [没有效果] | |
tags | 控制器说明 | |
@ApiOperation | 用在接口方法上,描述方法的作用 | |
value | 方法说明 | |
note | 增加说明 | |
@APiImplicitParams | 用在接口方法上,包装器,用{}包含多个ApiImplicitParam | |
@ApiImpicitParam | 定义在ApiImplicitParams内 ,描述单个参数的详细信息 | |
ParamType | 获取参数的位置 | |
header -> @RequestHeader | ||
query -> @RequestParam | ||
path -> @PathVariable | ||
body: 以流的形式提交,进支持post | ||
form: 以form表单形式提交,仅支持post | ||
name | 参数名 | |
dataType | 参数的数据类型,有Long 和String,但是用Long会出现格式错误问题,所以数字统一也用String | |
required | 是否为必须参数true/false | |
value | 参数说明 | |
defaultValue | 参数默认值 | |
@ApiResponses | 用在接口方看法上,用{}包含多个@ApiResonse | |
@ApiResponse | 表示一个错误信息 | |
code | 状态码[200、201、403、404、500等] | |
message | 状态信息 | |
@ApiModel | 用在类上,描述对象的作用 | |
@ApiModelProperty | 描述对象中字段的作用 ,一般用在请求对象或者返回结果对象 |
本博客所有文章除特别声明外,均采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 。转载请注明出处!