SpringBoot项目集成swagger项目遇到一个问题:
访问swagger-ui.html
没有加载到数据,也没有加载到页面的html和css资源
除了
1、添加swagger的pom依赖
2、swagger的配置文件
配置swagger的显示内容
例如
@Configuration
@EnableSwagger2
public class Swagger2Config {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
//为当前包路径
.apis(RequestHandlerSelectors.basePackage("com.XXXXX.controller"))
.paths(PathSelectors.any())
.build();
}
//构建 api文档的详细信息函数,注意这里的注解引用的是哪个
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
//页面标题
.title("XXXX")
//创建人
.contact(new Contact("mall-screen", "https://XXXX.com.cn", ""))
//版本号
.version("1.0")
//描述
.description("API 描述")
.build();
}
}
还需要
3、有一个web的配置文件
例如:
@Configuration
public class CustomWebAppConfig extends WebMvcConfigurationSupport { @Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**").addResourceLocations("classpath:/static/");
registry.addResourceHandler("swagger-ui.html")
.addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/");
super.addResourceHandlers(registry);
}
}
这样访问swagger-ui.html的时候,才可以正常访问swagger-ui的页面
这次是忘记配置web,导致。