关于Swagger中访问不了文档页面

2023-11-02

在这里插入图片描述

因为在SpringBoot启动类中,没有加上@EnableSwagger2WebMvc注解,这个注解的作用是启用swagger对应用程序暴露的API端点进行文档化,个人推断和拦截器拦截请求有关,解决办法就是加@EnableSwagger2WebMvc注解在SpringBoot启动类上,如图

@EnableSwagger2WebMvc
@SpringBootApplication
@MapperScan("com.atguigu.ssyx.product.mapper")
public class ServiceProductApplication {
    public static void main(String[] args) {
        SpringApplication.run(ServiceProductApplication.class);
    }
}

===================== 分割线 ==========================

可能有另一种情况,在网页访问时,出现doc.html404的情况
在这里插入图片描述
并且在控制台也报错404

2023-06-22 23:21:59.097  INFO 26700 --- [nio-8211-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 34 ms
2023-06-22 23:21:59.146  WARN 26700 --- [nio-8211-exec-1] o.s.web.servlet.PageNotFound             : No mapping for GET /doc.html
2023-06-22 23:22:00.837  INFO 26700 --- [  restartedMain] d.s.w.p.DocumentationPluginsBootstrapper : Documentation plugins bootstrapped

出现这种情况可能是项目中含有继承WebMvcConfigrationSupport的类,当在配置拦截器时,可以选择WebMvcConfigurationSupport,或者是WebMvcConfigurer,但是使用前者会导致自动配置失效,即WebMvcConfigurationSupprt会使SpringBoot的WebMvc自动配置失效,倒是视图解析器无法解析并返回到对应的视图,因为在springboot的web自动配置类WebMvcAutoConfiguration上含有条件注解@ConditionalOnMissingBean(WebMvcConfigurationSupport.class)有关。该注解表示在项目类路径中如果没有WebConfigurationSupport类型的bean时,自动配置才会生效。

这时需要重新指定静态资源

对应的knife4j的Ui图路径如下(classpath:/META-INF/resources/)

在这里插入图片描述

需要在继承了WebMvcConfigurationSupport的类上重写addResourceHandlers方法,用于在SpringMMVC中配置该静态资源的处理器

在这里插入图片描述
相关代码如下:

  @Override
    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/**")
                .addResourceLocations("classpath:/META-INF/resources/");
        super.addResourceHandlers(registry);
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于Swagger中访问不了文档页面 的相关文章

  • Java new Date() 打印

    刚刚学习 Java 我知道这可能听起来很愚蠢 但我不得不问 System out print new Date 我知道参数中的任何内容都会转换为字符串 最终值是 new Date 返回对 Date 对象的引用 那么它是如何打印这个的呢 Mo
  • 如何使用 Java 和 Selenium WebDriver 在 C 目录中创建文件夹并需要将屏幕截图保存在该目录中?

    目前正在与硒网络驱动程序和代码Java 我有一种情况 我需要在 C 目录中创建一个文件夹 并在该文件夹中创建我通过 selenium Web 驱动程序代码拍摄的屏幕截图 它需要存储在带有时间戳的文件夹中 如果我每天按计划运行脚本 所有屏幕截
  • Java中反射是如何实现的?

    Java 7 语言规范很早就指出 本规范没有详细描述反射 我只是想知道 反射在Java中是如何实现的 我不是问它是如何使用的 我知道可能没有我正在寻找的具体答案 但任何信息将不胜感激 我在 Stackoverflow 上发现了这个 关于 C
  • 在 HTTPResponse Android 中跟踪重定向

    我需要遵循 HTTPost 给我的重定向 当我发出 HTTP post 并尝试读取响应时 我得到重定向页面 html 我怎样才能解决这个问题 代码 public void parseDoc final HttpParams params n
  • 无法展开 RemoteViews - 错误通知

    最近 我收到越来越多的用户收到 RemoteServiceException 错误的报告 我每次给出的堆栈跟踪如下 android app RemoteServiceException Bad notification posted fro
  • 路径中 File.separator 和斜杠之间的区别

    使用有什么区别File separator和一个正常的 在 Java 路径字符串中 与双反斜杠相反 平台独立性似乎不是原因 因为两个版本都可以在 Windows 和 Unix 下运行 public class SlashTest Test
  • 如何在PreferenceActivity中添加工具栏

    我已经使用首选项创建了应用程序设置 但我注意到 我的 PreferenceActivity 中没有工具栏 如何将工具栏添加到我的 PreferenceActivity 中 My code 我的 pref xml
  • 如何为俚语和表情符号构建正则表达式 (regex)

    我需要构建一个正则表达式来匹配俚语 即 lol lmao imo 等 和表情符号 即 P 等 我按照以下示例进行操作http www coderanch com t 497238 java java Regular Expression D
  • Java按日期升序对列表对象进行排序[重复]

    这个问题在这里已经有答案了 我想按一个参数对对象列表进行排序 其日期格式为 YYYY MM DD HH mm 按升序排列 我找不到正确的解决方案 在 python 中使用 lambda 很容易对其进行排序 但在 Java 中我遇到了问题 f
  • Java TestNG 与跨多个测试的数据驱动测试

    我正在电子商务平台中测试一系列商店 每个商店都有一系列属性 我正在考虑对其进行自动化测试 是否有可能有一个数据提供者在整个测试套件中提供数据 而不仅仅是 TestNG 中的测试 我尝试不使用 testNG xml 文件作为机制 因为这些属性
  • 为什么HashMap不能保证map的顺序随着时间的推移保持不变

    我在这里阅读有关 Hashmap 和 Hashtable 之间的区别 http javarevisited blogspot sg 2010 10 difference Between hashmap and html http javar
  • getResourceAsStream() 可以找到 jar 文件之外的文件吗?

    我正在开发一个应用程序 该应用程序使用一个加载配置文件的库 InputStream in getClass getResourceAsStream resource 然后我的应用程序打包在一个 jar文件 如果resource是在里面 ja
  • 仅将 char[] 的一部分复制到 String 中

    我有一个数组 char ch 我的问题如下 如何将 ch 2 到 ch 7 的值合并到字符串中 我想在不循环 char 数组的情况下实现这一点 有什么建议么 感谢您花时间回答我的问题 Use new String value offset
  • 玩!框架:运行“h2-browser”可以运行,但网页不可用

    当我运行命令时activator h2 browser它会使用以下 url 打开浏览器 192 168 1 17 8082 但我得到 使用 Chrome 此网页无法使用 奇怪的是它以前确实有效 从那时起我唯一改变的是JAVA OPTS以启用
  • 获取 JVM 上所有引导类的列表?

    有一种方法叫做findBootstrapClass对于一个类加载器 如果它是引导的 则返回一个类 有没有办法找到类已经加载了 您可以尝试首先通过例如获取引导类加载器呼叫 ClassLoader bootstrapLoader ClassLo
  • 捕获的图像分辨率太大

    我在做什么 我允许用户捕获图像 将其存储到 SD 卡中并上传到服务器 但捕获图像的分辨率为宽度 4608 像素和高度 2592 像素 现在我想要什么 如何在不影响质量的情况下获得小分辨率图像 例如我可以获取或设置捕获的图像分辨率为原始图像分
  • java.lang.IllegalStateException:驱动程序可执行文件的路径必须由 webdriver.chrome.driver 系统属性设置 - Similiar 不回答

    尝试学习 Selenium 我打开了类似的问题 但似乎没有任何帮助 我的代码 package seleniumPractice import org openqa selenium WebDriver import org openqa s
  • 将 List 转换为 JSON

    Hi guys 有人可以帮助我 如何将我的 HQL 查询结果转换为带有对象列表的 JSON 并通过休息服务获取它 这是我的服务方法 它返回查询结果列表 Override public List
  • 节拍匹配算法

    我最近开始尝试创建一个移动应用程序 iOS Android 它将自动击败比赛 http en wikipedia org wiki Beatmatching http en wikipedia org wiki Beatmatching 两
  • Spring Boot @ConfigurationProperties 不从环境中检索属性

    我正在使用 Spring Boot 1 2 1 并尝试创建一个 ConfigurationProperties带有验证的bean 如下所示 package com sampleapp import java net URL import j

随机推荐

  • upload-labs:pass-07

    is upload false msg null if isset POST submit if file exists UPLOAD PATH deny ext array php php5 php4 php3 php2 html htm
  • 实验九、内核虚拟化

    1 搭建openEuler x86 64系统的qemu虚拟机 1 1 安装虚拟化组件 dnf install y libvirt qemu 1 2验证是否安装成功 安装成功 1 3查看libvird是否已启动 启动成功 1 4查看虚拟网络配
  • QT笔记——QTableWidget点击表头排序问题 数据消失

    在QTableWidget 点击表头排序后 发现重新加载进来的数据消失或者很多空白 解决方法 排序方法 void DesignProductWidget DesignProductWidget ui tableWidget gt setSo
  • mysql安装—基于deepin

    文章目录 MySQL安装 基于deepin20 2 一 安装包准备 二 安装mysql 三 安装完成 MySQL安装 基于deepin20 2 今天带来一期关于如何在Deepin上安装MySQL 总体来说是比较简单的 一 安装包准备 火狐浏
  • opencv中更改摄像头参数,更改mpjg和帧率遇到的问题

    import numpy as np import cv2 import time cv2 VideoCapture set cv2 CAP PROP FPS 30 cap cv2 VideoCapture 0 cap cv2 VideoC
  • Kubernetes(K8s) 安装(使用kubeadm安装Kubernetes集群)

    目录 一 Centos7 配置说明 1 1 Firewalld 防火墙 1 2 SELinux 二 安装准备工作 2 1 安装环境 2 2 部署环境说明 2 3 配置主机名 master和node节点都执行 2 3 1 修改主机名 2 3
  • redis master和slave怎么实现数据同步

    转载于 https blog csdn net hxpjava1 article details 78347890 Redis的主从同步机制可以确保redis的master和slave之间的数据同步 按照同步内容的多少可以分为全同步和部分同
  • yolov5小目标检测-提高检测小目标的检测精度

    目前基于目标检测方面 近些年基于深度学习的人神经网络产生了很多经典且高效的网络结构 其中不乏有凯明大神的Fast RCNN Faster RCNN家族系列检测网络结构 还有号称you only look once的YOLO系列 本次分享的就
  • 服务器的可维护性,可靠性和可维护性

    可靠性和可维护性 可靠性一直是戴尔服务器产品线的一大亮点 R515也不例外 如内部结构所示 当你打开R515机箱的时候 你可以很明显地看到风扇的数量 分布的各个组件和双电源机箱 你也可以感觉出从中取出各个组件和拆装机箱都十分简便 配合低能耗
  • Flask——使用表单并检验参数

    回顾上期的程序代码 from flask import Flask render template from flask wtf import FlaskForm from wtforms import StringField Passwo
  • 图 深度优先遍历 广度优先遍历 非递归遍历 图解算法过程

    图的邻接矩阵表示 通常图的表示有两种方法 邻接矩阵 邻接表 本文用邻接矩阵实现 一是代码量更少 二是代码风格也更贴近C语言 但不论是图的哪种实现方式 其基本的实现思想是不变的 1 节点的信息 我们用一维数组a n 来存储 假设图共有n个节点
  • QQ小程序广告代码

    qml内代码
  • elasticsearch查看分词结果

    第一种情况 查看任意一段文本 能分成哪些词汇 http localhost 9200 analyze POST 第二种情况 查看已经入库的数据 分词情况 http localhost 9200 index type id termvecto
  • keil中出现Undefined symbol 等问题解决办法

    在keil中仿照别人的程序写了RCC初始化的程序 编译后出现以下问题 obj pro1 axf Error L6218E Undefined symbol FLASH PrefetchBufferCmd referred from main
  • C++动态内存管理——智能指针

    智能指针 1 什么是智能指针 智能指针 smart pointer 是存储指向动态分配 堆 对象指针的类 用于生存期控制 能够确保自动正确的销毁动态分配的对象 防止内存泄露 利用自动调用类的析构函数来释放内存 实现技术是使用引用计数 sha
  • C++——WebServer服务器项目

    项目场景 C WebServer服务器编程 项目搭建 1 配置虚拟机 下载XShell Xftp以及windows版本的VScode 2 安装SSH sudo apt install openssh server 3 在XShell中配置会
  • Parcel打包React

    Parcel打包React Parcel介绍 Parcel 官网 parceljs org 官网上的介绍 极速零配置Web应用打包工具 什么 对的 你没看错 它标称的零配置打包 这个打包工具其实在一些大厂 开发 Electron 和 Rea
  • PAT C入门题目-7-18 出租车计价 (15 分)

    7 18 出租车计价 15 分 本题要求根据某城市普通出租车收费标准编写程序进行车费计算 具体标准如下 起步里程为3公里 起步费10元 超起步里程后10公里内 每公里2元 超过10公里以上的部分加收50 的回空补贴费 即每公里3元 营运过程
  • MAC安装Securecrt

    文章目录 一 下载地址 二 安装软件 1 下载的文件有2个 一个是安装包 一个是安装文件 2 打开安装包以后 将安装程序拖到应用程序中 三 执行安装文件 1 执行安装 2 错误解决 四 安装软件 1 打开SecureCTR后 选择Enter
  • 关于Swagger中访问不了文档页面

    因为在SpringBoot启动类中 没有加上 EnableSwagger2WebMvc注解 这个注解的作用是启用swagger对应用程序暴露的API端点进行文档化 个人推断和拦截器拦截请求有关 解决办法就是加 EnableSwagger2W