springboot集成swagger-ui(以及使用bootstrap-ui)

以下內容以springboot2.2.6爲例
1、在pom文件中加入以下依賴:

		<!-- swagger-ui -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>${swagger-ui.version}</version>
        </dependency>
        <!-- swagger2 -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>${swagger2.version}</version>
        </dependency>
        <!-- 引入swagger-bootstrap-ui包 -->
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>swagger-bootstrap-ui</artifactId>
            <version>${swagger-bootstrap-ui.version}</version>
        </dependency>

這裏我用的各依賴版本如下:

 		<swagger-ui.version>2.9.2</swagger-ui.version>
        <swagger2.version>2.9.2</swagger2.version>
        <swagger-bootstrap-ui.version>1.8.5</swagger-bootstrap-ui.version>

2、加入SwaggerConfig配置類

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;

/**
 * SwaggerConfig
 * @desc: Swagger配置
 * @version:
 * @createTime: 2020/4/23 11:08
 * @author: 
 */
@Configuration
public class SwaggerConfig {

    @Bean
    public Docket createH5RestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.any())
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("智慧生態api文檔")
                .description("restful 風格接口")
                .version("1.0")
                .build();
    }

}

3、加入WebMvcConfig配置

import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import springfox.documentation.spring.web.SpringfoxWebMvcConfiguration;

/**
 * WebMvcConfig
 * @desc: TODO 類的設計目的、功能及注意事項
 * @version:
 * @createTime: 2020/4/24 11:37
 * @author: 
 */
@ConditionalOnClass(SpringfoxWebMvcConfiguration.class)
public class WebMvcConfig implements WebMvcConfigurer {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
    }

}

4、啓動類上加上@EnableSwagger2、以及@EnableSwaggerBootstrapUI註解

import com.github.xiaoymin.swaggerbootstrapui.annotations.EnableSwaggerBootstrapUI;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

/**
 * SmartEcologyApplication
 * @desc: TODO 類的設計目的、功能及注意事項
 * @version:
 * @createTime: 2020/4/22 16:16
 * @author: 
 */
@EnableSwaggerBootstrapUI
@EnableSwagger2
@SpringBootApplication
public class SmartEcologyApplication {

    public static void main(String[] args) {
        SpringApplication.run(SmartEcologyApplication.class, args);
    }

}

5、瀏覽器輸入http://127.0.0.1:8080/doc.html即可查看bootstrap風格的swagger界面
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章