springboot整合swagger-ui

整合之後,頁面:

0.springboot版本1.4.1(compile group: 'org.springframework.boot', name: 'spring-boot', version: '1.4.1.RELEASE')

對應swagger版本:2.6.1

 

1. 需要的jar

guava-18.0.jar
jackson-annotations-2.8.0.jar
jackson-databind-2.6.6.jar
springfox-core-2.6.1.jar
springfox-schema-2.6.1.jar
springfox-spi-2.6.1.jar
springfox-spring-web-2.6.1.jar
springfox-swagger2-2.6.1.jar
springfox-swagger-common-2.6.1.jar
springfox-swagger-ui-2.6.1.jar
spring-plugin-core-1.2.0.RELEASE.jar
spring-plugin-metadata-1.2.0.RELEASE.jar
swagger-annotations-1.5.10.jar
swagger-models-1.5.10.jar

用maven引入的話,只需要在pom文件添加以下兩個依賴即可:

        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.6.1</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.6.1</version>
        </dependency>

2. 創建SwaggerConfig.java

package gwxm.sffw;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

//import io.swagger.models.Contact;
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;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

/**
 * Swagger API文檔url爲:   http://localhost:8089/gwxmsffw/swagger-ui.html
 * @author fuhm
 *
 */
@ComponentScan("gwxm.sffw.result.controller")    //需要掃描的api位置
@Configuration      //啓動時加載類
@EnableSwagger2     //啓用Swagger API文檔
public class SwaggerConfig {
	/**
     * swagger2的配置文件,這裏可以配置swagger2的一些基本的內容,
     * 比如掃描的包等等
     * @return docket
     */
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("gwxm.sffw.result"))              //爲當前包路徑 ,掃描controller包
//				 .apis(RequestHandlerSelectors.withClassAnnotation(RestController.class))   // 含有RestController的註解
//				 .apis(RequestHandlerSelectors.withClassAnnotation(Api.class))              // 含有api的註解
                .paths(PathSelectors.any())                                                 // 所有controller
                .build();
    }
 
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
        		 .title("gwxmsffw 測試使用 Swagger2 構建RESTful API")
                 .description("gwxmsffw API 1.0 操作文檔")
                 .termsOfServiceUrl("https://www.cnblogs.com/wadmwz/")                     //服務條款網址
                 .version("1.0")
//                 .contact( "gwxmsffw  contact" )
                 .build();
    }

}

3. 啓動類添加註解 : @EnableSwagger2

若是springboot項目,此時啓動項目。訪問  http://localhost:8094/swagger-ui.html#/ 就可以了(8094是自己項目的端口號)。若404,則自定義資源目錄,即第四步:

4. 創建WebMvcConfig.java

package gwxm.sffw;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
 
@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter  {
 
	 public void addResourceHandlers(ResourceHandlerRegistry registry) {
	        registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
	 
	        registry.addResourceHandler("swagger-ui.html")
	                .addResourceLocations("classpath:/META-INF/resources/");
	 
	        registry.addResourceHandler("/webjars/**")
	                .addResourceLocations("classpath:/META-INF/resources/webjars/");
	 
	    }
}

5. 注意攔截器不要把以下請求攔截!

/swagger-ui.html

/webjars/*

/v2/api-docs

/swagger-resources/*

6.訪問路徑

http://ip:端口/swagger-ui.html

如:http://localhost:8089/gwxmsffw/swagger-ui.html

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