现在的开开发模式多数都采用前后端分离,让后台的码农们更加专注的搞后台业务。那么后台就应该有一个供给后台人员展现数据的地方。Swagger就是这样一个框架。
Swagger:
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。
SpringBoot与Swagger集成:
第一步:创建一个SpringBoot项目(IDEA):
1.点击File-->project:
2.
3.
4.
到此生成完了一个SpringBoot项目。
第二步:集成Swagger:
1.在pom.xml文件中导入依赖:
<!--swaggerUI 文档注释-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>swagger-bootstrap-ui</artifactId>
<version>1.9.0</version>
</dependency>
<!--swaggerUI-->
2.在SpringBoot的入口函数同级目录下添加一个Swagger类:
3.Swagger类代码段:
package com.demo;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
import java.util.ArrayList;
import java.util.List;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.ParameterBuilder;
import springfox.documentation.schema.ModelRef;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.service.Parameter;
/**
* @author liangyongpeng
* @create 2019/11/18 11:49
*/
@Configuration
@EnableSwagger2
public class OpsSwagger {
@Bean
public Docket testSwagger() {
return new Docket(DocumentationType.SWAGGER_2).groupName("swagger测试").apiInfo(apiInfo()).select()
.apis(RequestHandlerSelectors.basePackage("com.demo.controller"))
.paths(PathSelectors.any()).build().apiInfo(apiInfo());/*.globalOperationParameters(tokenParm());*/
}
@Bean
public Docket userInfo() {
return new Docket(DocumentationType.SWAGGER_2).groupName("用户信息")
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.demo.controller.user"))
.paths(PathSelectors.any())
.build();
}
public ApiInfo apiInfo() {
return (new ApiInfoBuilder()).title("接口").description("相关接口").termsOfServiceUrl("").contact(new Contact("", "", "")).version("1.0").build();
}
}
4.在SpringBoot入口函数里面添加Swagger的启动注解(必须):
5.在controller中使用Swagger注解:
第三步:上菜:
启动SpringBoot项目,登录localhost:端口号/doc.html