SpringBoot整合SwaggerUI

  SwaggerUI提供了一个可视化的UI页面展示描述文件,可以在该页面中对相关接口进行查阅和做一些简单的接口请求。即拥有在线接口文档功能和在线接口测试功能。

1.整合Swagger所需要的依赖(前两个依赖是原有的Swagger依赖,后一个为github上提供的一个美化后的UI界面所需要的依赖)

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.4.0</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.4.0</version>
</dependency>
<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>swagger-bootstrap-ui</artifactId>
    <version>1.9.6</version>
</dependency>
                

2.整合Swagger需要在SpringBoot中注入的Bean

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.XXXX"))
                .apis(RequestHandlerSelectors.withClassAnnotation(Api.class))
                .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
                .paths(PathSelectors.any())
                .build()
                .apiInfo(apiInfo());
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("XXXXX系统-API文档")
                .description("API文档-对API进行描述")
                .version("1.0.0")
                //.termsOfServiceUrl("http://xxx.xxx.com")
                .license("All rights belongs to XXXXX")
                //.licenseUrl("http://xxx.xxx.com")
                .build();
    }
}

3.整合Swagger需要添加的Mapping映射

@Configuration
public class SwaggerMappingConfig extends WebMvcConfigurationSupport {
    @Override
    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/*").addResourceLocations("/");
        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
        super.addResourceHandlers(registry);
    }
}

4.通过以上3步即整合成功,访问路径:http://localhost:8080/{serverContext}/doc.html。其中{serverContext}为服务的上下文路径,如果没有则去掉。

 

posted @ 2020-11-27 09:41  今夕是何年?  阅读(130)  评论(0编辑  收藏  举报