当前位置: 首页 > news >正文

Swagger 访问不到 报错:o.s.web.servlet.PageNotFound : No mapping for GET /doc.html

1.使用的版本

Swagger版本:2.9.2

Spring Boot版本:2.6.15

2.问题

(1)控制台报错

o.s.web.servlet.PageNotFound - No mapping for GET /swagger-ui.html

WARN  o.s.web.servlet.PageNotFound - No mapping for GET /swagger-ui.html

(2)页面报错

This application has no explicit mapping for /error, so you are seeing this as a fallback.

3.问题原因

实现了WebMvcConfigurer接口,重写了addResourceHandlers方法

package com.sdses.config;import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;@Configuration
public class MyWebMVCConfig implements WebMvcConfigurer {@Value("${digital.file.resource-path}")private String resourcePath;@Value("${digital.file.base-file-path}")private String locationPath;@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {//匹配到resourceHandler,将URL映射至本地文件夹registry.addResourceHandler(resourcePath).addResourceLocations("file:///" + locationPath);}
}

4.解决

  经过分析发现由于项目中有配置类(@Configuration)继承了WebMvcConfigurer类 ,重写了addResourceHandlers()方法,导致默认的Swagger静态资源被覆盖,而缺失了配置。需要重新指定静态资源。

可在该继承配置类中,显式添加如下swagger静态资源:

配置Swagger UI和WebJars资源的访问路径
    @Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {//匹配到resourceHandler,将URL映射至本地文件夹registry.addResourceHandler(resourcePath).addResourceLocations("file:///" + locationPath);// 配置Swagger UI和WebJars资源的访问路径,使得这些静态资源可以通过特定的URL路径在Web应用中被访问registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");}
}

http://www.xdnf.cn/news/716275.html

相关文章:

  • leetcode hot100刷题日记——28.环形链表2
  • 【论文精读】2024 ECCV--MGLD-VSR现实世界视频超分辨率(RealWorld VSR)
  • 第十三章:预处理
  • Dify+MCP+MySQL:智能问数本地实践
  • 品优购项目(HTML\CSS)
  • 缓存架构方案:Caffeine + Redis 双层缓存架构深度解析
  • 2025年05月29日Github流行趋势
  • 【SOLUTION】Java 生成 TOTP 验证码
  • 政策与数字双赋能驱动:ERP助力外贸企业高质量发展路径解析
  • Maven-生命周期
  • 信创采购热潮下的隐忧:单一技术路线的市场垄断之困
  • Oracle RMAN自动恢复测试脚本
  • mongodb的安装使用
  • 20250529-C#知识:分部类和分部方法
  • 小白畅通Linux之旅-----Linux日志管理
  • 【芯片设计中的交通网络革命:Crossbar与NoC架构的博弈C架构的博弈】
  • 在Linux环境里面,Python调用C#写的动态库,如何实现?
  • Java集合操作常见错误与最佳实践
  • OSCP备战-SickOs1.2靶场详细步骤
  • 第九章 MQTT报文
  • C primer plus (第六版)第六章 编程练习第10题
  • 关于《DAHSF》即《火小兔智慧开发平台V2.0》的碎碎念
  • ADC同步采样
  • XMOS以全新智能音频及边缘AI技术亮相广州国际专业灯光音响展
  • 【NebulaGraph】查询案例(七)
  • 两个频率比较接近的简谐振动叠加后会产生拍形
  • C#学习:基于LLM的简历评估程序
  • 4. 算法与分析 (1)
  • 【Dify系列教程重置精品版】第十一章:Dify与slenium
  • Flutter下的一点实践