spring gateway 集成 knife4j 遇到 doc.html错误404

9,935 阅读1分钟

一、错误

访问地址:http://localhost:8010/doc.html 报错 404 异常

二、解决方案

针对Springboot项目与 spring gateway项目解决方案不同

1、spring boot 项目

@Configuration
@EnableKnife4j
public class Knife4j3Config implements WebMvcConfigurer {
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/**")
                .addResourceLocations("classpath:/static/");
        registry.addResourceHandler("doc.html")
                .addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**")
                .addResourceLocations("classpath:/META-INF/resources/webjars/");
    }
}

2、spring gateway 项目

由于gateway 项目使用的是 webflux, 采用 addResourceHandlers 方法不起作用

将 add-mappings 设置成 true 可解决404的问题

spring:
  resources:
    add-mappings: true