swagger集成遇到的坑一个
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,导致。