如何在 Spring Boot 3 上运行 Swagger 3

2024-04-02

使用带有 Java17 和 Spring Boot 3.0.0 的全新 Spring Initialzr,以及 Springfox Swagger 3 的 pom.xml 的额外补充,我一生都无法让 Swagger 页面工作。相反,我得到了带有 404 的白标错误页面。

Pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>3.0.0</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<properties>
    <java.version>17</java.version>
</properties>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-boot-starter</artifactId>
        <version>3.0.0</version>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>
</project>

本节中定义的标准 Swagger URLGithub 问题页面 https://github.com/springfox/springfox/issues/3441不适用于上述 pom.xml 项目。


在发布问题后我已经放弃并转而使用Spring Boot 2.7。但是,在看到 Dmitriy 的回答后,我最后一次检查了 Springdoc 并发现Springdoc v2 确实支持 Spring Boot 3 https://springdoc.org/v2/.

本质上,必须将以下内容放入其 pom 中:

   <dependency>
      <groupId>org.springdoc</groupId>
      <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
      <version>2.0.0</version>
   </dependency>

然后可以使用以下 URL 访问 Swagger 页面:http://localhost:8080/swagger-ui.html(如果需要,请不要忘记添加上下文路径)。由于某种原因,打开时,它会重定向到 http://localhost:8080/swagger-ui/index.html,尽管最初返回的是 404...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Spring Boot 3 上运行 Swagger 3 的相关文章

随机推荐

  • 单向数据库同步

    经常需要将一个数据库中的主表中的数据同步到其他数据库 通常位于其他服务器上 中的克隆表 例如 考虑这样一种情况 后端系统管理库存数据 并且库存数据最终必须推送到作为网站应用程序一部分的一个或多个数据库 后端系统中的源数据高度规范化 有数十个
  • 如何强制文本框显示正在输入的内容?

    在我的 UWP 应用程序中 单击按钮 btnCre8NewMap 时我会调用 ContentDialog 这是相关的 XAML
  • 使用 BeautifulSoup 迭代 XML 来提取特定标签并存储在变量中

    我对编程相当陌生 一直在努力寻找解决方案 但我能找到的只是零碎的东西 没有真正的运气将它们组合在一起 我正在尝试使用BeautifulSoup4 in python刮一些xml并将文本值存储在变量中的特定标签之间 这些数据来自医学生培训计划
  • Android 支持 v23.1.0 更新破坏了 NavigationView 获取/查找标头

    我一直在使用v23 0 1支持库到目前为止没有任何问题 现在当我切换到新的v23 1 0我在抽屉布局中的小部件上得到一个空指针 mNavigationView NavigationView findViewById R id navigat
  • 蟒蛇基维 |标签文本上的阿拉伯文本

    当我尝试输入阿拉伯语文本时出现问题 我的代码是 import kivy from kivy app import App from kivy uix textinput import TextInput class TestApp App
  • SQL Server 2014 nvarchar(max) 结果的哈希字节为 nvarchar(max)

    使用 SQL Server 2014 我有一个表nvarchar max 称为的列 ASCII File 它可以包含许多 K 的 ASCII 文本文件 然后我想对该文件执行 MD5 哈希字节 并且生成的哈希值应始终为 20 字节 好吧 当我
  • 如何在 MySQL 中搜索“邻近词”?

    例如 我想搜索一个词 marple 这应该返回具有接近或精确单词的行 例如 marble maple marple ETC 在mysql查询中如何实现呢 或者更好地给出建议 如果有的话 SOUNDEX 函数 http dev mysql c
  • 如何使用具有字典数组的键解析字典

    UPDATE 8 31 12 所以现在我需要根据 isReservable 1遍历字典数组 然后显示 begin 我只是想获取每个字典的数组的内容 我可以从那里开始 暂时 以下是我尝试过的 感谢大家的帮助 我每天都学到更多 来自 php 页
  • 在 TFS 描述字段中嵌入文本

    我有一个关于描述字段的 TFS 问题 目前 TFS 描述字段是一个空字段 用户可以在其中添加任何信息 是否可以嵌入某种类型的文本 示例 创建新错误时 TFS 描述字段为空 相反 我想在描述字段中填充以下内容 配置和日志 版本及环境 复制步骤
  • Scala 中的参数列表会直接支持元组解包吗?

    在 Haskell 中你可以这样写 x Int Int gt Int x p s p 在 Scala 中你可以这样写 def x a Int Int a 1 or def x a Int Int a match case p s gt p
  • Alamofire 自动刷新令牌并重试 iOS Swift 4 中的先前 API 调用

    现在我正在使用 Swift 4 开发 iOS 应用程序 这里我使用 Alamofire 来集成 API 调用 我需要集成正确的方法来自动刷新身份验证令牌并重试之前的 API 调用 成功登录后 我将存储身份验证令牌 因此 登录后 在每个 AP
  • 如何让一个 Perl 脚本查看另一个 Perl 脚本中的变量?

    我有一个越来越大的 Perl 脚本 因此我想将其分解为多个脚本 也就是说 我想取出一些大的哈希声明并将它们放入另一个文件中 如何使原始脚本能够查看和使用现在在其他脚本中声明的变量 这让我抓狂 因为我已经有一段时间没有使用 Perl 了 而且
  • 使 XmlReaderSettings CheckCharacters 适用于 xml 字符串

    我有一个来自 Adob e PDF AcroForms 的 xml 字符串 它显然允许命名以数字字符开头的表单字段 我正在尝试将此字符串解析为 XDocument XDocument xDocument XDocument Parse xm
  • 查找字符串中最后一次出现的子字符串,并将其替换

    所以我有一长串相同格式的字符串 我想找到最后一个 每个字符中的一个 并将其替换为 我尝试过使用 rfind 但我似乎无法正确利用它来做到这一点 这应该可以做到 old string this is going to have a full
  • 带有 NSTask 的沙箱

    我启用了沙箱并使用 sbin ping使用 NSTask task setLaunchPath sbin ping task setArguments NSArray arrayWithObjects c10 iPAddress nil 一
  • Qt 颜色选择器小部件?

    我有一个QDialog向用户提供一些选项供其选择的子类 这些选项之一是颜色 我见过QColorDialog https stackoverflow com a 1972272 2062384 我需要一些更简单的东西 这也是一个常规小部件 这
  • 尽管所有测试都通过,但 TeamCity NUnit 构建步骤失败

    我正在设置 TeamCity 来运行一些 NUnit 测试 TeamCity 报告所有测试均已通过 但报告构建失败 并显示错误消息 新构建状态为 NUnit 错误 build status text 深入查看构建日志 我可以看到加载测试中的
  • 带有 AngularJS 指令的类似 Google 的搜索框

    我正在编写一个应用程序 其 UI 方面几乎与 Google 完全相同 我到达登陆页面 我有一个搜索框 提交后会将您引导至结果页面 在这里 您有相同的搜索框和其他指令 您可以在其中切换模式 例如 网络 图像 目前我有 在登陆页面上 带有 ac
  • 循环遍历一个范围以创建嵌套数据树

    我需要创建一个零件号列表 其中显示用于创建第一零件的所有其他子零件 例如部分12345是通过组合构建的abc and def 我有一个顶级部分的列表 以及第二个列表 其中有两列 左侧显示顶级 右侧显示子部分 e g Top Level Pa
  • 如何在 Spring Boot 3 上运行 Swagger 3

    使用带有 Java17 和 Spring Boot 3 0 0 的全新 Spring Initialzr 以及 Springfox Swagger 3 的 pom xml 的额外补充 我一生都无法让 Swagger 页面工作 相反 我得到了