1. 程式人生 > 其它 >Swagger3有幾種配置方式?

Swagger3有幾種配置方式?

1.引入依賴,版本3.0.0只引入一個即可

    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-boot-starter</artifactId>
        <version>3.0.0</version>
    </dependency>

點選並拖拽以移動

  1. 配置類SwaggerConfig

package org.fh.config;
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.oas.annotations.EnableOpenApi;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
/**

  • 說明:Swagger 介面API生成
  • 作者:FH Admin
  • from fhadmin.www.diuxie.comorg
    */

public class SwaggerConfig {


public Docket createRestApi() {
    return new Docket(DocumentationType.OAS_30)
            .apiInfo(apiInfo())
            .select()
            .apis(RequestHandlerSelectors.basePackage("org.fh.controller"))    // 為當前手遊包路徑
            .paths(PathSelectors.any())
            .build();
}
private ApiInfo apiInfo() {
    return new ApiInfoBuilder()
            .title("FH Admin Swagger3 RESTful API")     // 頁面標題
            .version("3.0")                                // 版本號
            .description("fhadmin.org")                    // 描述
            .build();
}

}
3.Swagger 攔截配置

package org.fh.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**

  • 說明:Swagger 攔截手遊配置
  • 作者:FH Admin
  • from fhadmin.org
    */

public class WebMvcConfig implements WebMvcConfigurer {

public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.
            addResourceHandler("/swagger-ui/**")
            .addResourceLocations("classpath:/META-INF/resources/webjars/springfox-swagger-ui/")
            .resourceChain(false);
}

public void addViewControllers(ViewControllerRegistry registry) {
    registry.addViewController("/swagger-ui/")
            .setViewName("forward:/swagger-ui/index.html");
}