SpringMVC 配置BootStrap-UI swagger2接口文件(接口带后台.do)

205 阅读1分钟

一、pom配置

<!--引入Knife4j(新名)-->
<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>knife4j-spring</artifactId>
    <version>2.0.4</version>
</dependency>
<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>knife4j-spring-ui</artifactId>
    <version>2.0.4</version>
</dependency>

二、swagger配置文件(swaggerConfig.java)

@EnableSwagger2
public class SwaggerConfig {

    @Bean
    public Docket defaultApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(groupApiInfo())
                .groupName("接口文档")
                //引入自定义后缀类
                .pathProvider(new CustRelativePathProvider())
                .select()
                .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
                .paths(PathSelectors.any())
                .build();
    }


    private ApiInfo groupApiInfo(){
        return new ApiInfoBuilder()
                .title("接口文档")
                .description("接口文档")
                .termsOfServiceUrl("https://www.XXXXX.com/")
                .version("1.0")
                .build();
    }

}

三、自定义接口后缀实现类(CustRelativePathProvider.java)


/**
 * @author: wade
 * @date: 2021/8/3 17:42
 * @describe: 自定义接口后缀  
 */
public class CustRelativePathProvider extends AbstractPathProvider {

    public static final String ROOT = "/";

    @Override
    public String getOperationPath(String operationPath) {
        UriComponentsBuilder uriComponentsBuilder = UriComponentsBuilder.fromPath("/");
        String uri = removeAdjacentForwardSlashes(uriComponentsBuilder.path(operationPath).build().toString());
        return uri + ".json";
    }

    @Override
    protected String applicationPath() {
        return ROOT;
    }

    @Override
    protected String getDocumentationPath() {
        return ROOT;
    }
}

四、spring.xml配置文件


<!--swagger配置bean-->
<bean id="SwaggerConfig" class="com.meiyunji.amzup.frontend.config.swagger.SwaggerConfig"></bean>

<!--swagger静态文件配置-->
<mvc:resources location="classpath:/META-INF/resources/" mapping="doc.html"/>
<mvc:resources location="classpath:/META-INF/resources/webjars/" mapping="/webjars/**"/>

五、web.xml配置文件

<servlet-mapping>
  <servlet-name>SpringMVC</servlet-name>
  <url-pattern>/v2/api-docs</url-pattern>
</servlet-mapping>
<!--2.该接口是springfox提供的Swagger分组接口-->
<servlet-mapping>
  <servlet-name>SpringMVC</servlet-name>
  <url-pattern>/swagger-resources</url-pattern>
</servlet-mapping>
<!--3.该接口是springfox提供的Swagger配置接口-->
<servlet-mapping>
  <servlet-name>SpringMVC</servlet-name>
  <url-pattern>/swagger-resources/configuration/ui</url-pattern>
</servlet-mapping>

六、需要放行权限

"/v2/api-docs",
"/doc.html",
"/webjars/**",
"/swagger-resources/configuration/ui",
"/swagger-resources",