这是我参与更文挑战的第 11 天,活动详情查看:更文挑战
前言
Swagger,官网是这样介绍的:Swagger UI 允许任何人(无论是您的开发团队还是您的最终消费者)在没有任何实现逻辑的情况下可视化 API 资源并与之交互。它是根据您的 OpenAPI(以前称为 Swagger)规范自动生成的,带有可视化文档,便于后端实现和客户端使用。简单点说,其实就是一个规范和完整的框架,主要作用是接口文档的在线自动生成以及功能测试,给测试和前端开发人员提供一个图形化的可操作界面,便于api接口的功能化测试。本文主要介绍下springboot集成swagger的具体流程和步骤。
代码操作步骤
1.pom文件引入依赖
<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.caspar-chen</groupId>
<artifactId>swagger-ui-layer</artifactId>
<version>1.1.3</version>
</dependency>
复制代码
2.声明SwaggerConfig类
@Configuration
@EnableSwagger2
public class SwaggerConfig {
public static final String VERSION = "1.0.0";
@Bean
public Docket customImplementation(){
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
.build()
.enable(true)
.globalOperationParameters(getGlobalOperationParameters())
.apiInfo(apiInfo());
}
private List<Parameter> getGlobalOperationParameters() {
ParameterBuilder ticketPar = new ParameterBuilder();
List<Parameter> pars = new ArrayList<Parameter>();
ticketPar.name("Token")
.description("User Token")
.modelRef(new ModelRef("string"))
.parameterType("header")
.required(false);
pars.add(ticketPar.build());
return pars;
}
ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("swagger测试")
.description("This is to show api description")
.license("Apache 2.0")
.licenseUrl("http://www.apache.org/licenses/LICENSE-2.0.html")
.termsOfServiceUrl("")
.version(VERSION)
.build();
}
}
复制代码
3.访问
启动后台代码,然后在浏览器网页中输入路径:http://localhost:port/项目名/docs.html
路径中的项目名为配置文件中的server.servlet.context-path=/***中的内容,如果配置文件中没有配置该项则不包含该级目录
注意:如果项目中有拦截器,可能会对swagger的访问有影响,需要额外进行处理,此处不再说明,大家自行百度。此外,有时候版本或其他原因,访问路径最后一级可能为doc.html或swagger-ui.html,根据实际情况而定。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END