SpringBoot项目集合Swagger流程和步骤

这是我参与更文挑战的第 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
喜欢就支持一下吧
点赞0 分享