无法让 Swagger UI 与 Spring boot 一起使用

2024-01-11

我正在尝试让 Swagger UI 与 Spring Boot 1.2.1 一起使用。我按照以下说明进行操作https://github.com/martypitt/swagger-springmvc https://github.com/martypitt/swagger-springmvc我添加了@EnableSwagger在我的弹簧配置上。

我目前在访问时会返回 JSONhttp://localhost:8080/api-docs但没有漂亮的 HTML。

我使用 Maven 并添加了对 swagger-ui 的依赖:

<dependency>
    <groupId>org.ajar</groupId>
    <artifactId>swagger-spring-mvc-ui</artifactId>
    <version>0.4</version>
</dependency>

这是我的完整依赖项列表:

<dependencies>
        <dependency>
            <groupId>com.mangofactory</groupId>
            <artifactId>swagger-springmvc</artifactId>
            <version>0.9.4</version>
        </dependency>
        <dependency>
            <groupId>org.ajar</groupId>
            <artifactId>swagger-spring-mvc-ui</artifactId>
            <version>0.4</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-websocket</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

我也尝试过http://localhost:8080/docs/index.html作为 URL,但这只是给出“Whitelabel 错误页面”

Update:

我在Github上创建了一个测试项目来展示这个问题:https://github.com/wimdeblauwe/springboot-swagger-test https://github.com/wimdeblauwe/springboot-swagger-test


你的问题在于你的SwaggerConfiguration文件。你需要拿出来@EnableWebMvc,因为这会导致默认的 Spring Boot 视图解析器被以不同方式提供静态内容的默认“SpringWebMvc”视图解析器覆盖。

默认情况下,Spring Boot 将从以下任意目录提供静态内容:

  • /META-INF/资源/
  • /资源/
  • /static/
  • /public/

包括 webjar。

我遇到了同样的问题,我在文档中发现了这一点:http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-developing-web-applications.html#boot-features-spring-mvc-auto-configuration http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-developing-web-applications.html#boot-features-spring-mvc-auto-configuration

如果你想完全控制Spring MVC,你可以添加你自己的@Configuration注释为@EnableWebMvc。如果您想保留 Spring Boot MVC 功能,并且只想添加额外的 MVC 配置(拦截器、格式化程序、视图控制器等),您可以添加自己的@Bean类型的WebMvcConfigurerAdapter, but without @EnableWebMvc.

我希望这有帮助。

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

无法让 Swagger UI 与 Spring boot 一起使用 的相关文章

随机推荐

  • 以编程方式安装 Windows 服务

    如何在不使用 installutil exe 的情况下以编程方式安装 Windows 服务 您可以通过添加此代码 在程序文件 Program cs 中 来安装该服务 以便在使用指定参数从命令行运行时自行安装
  • 具有 openid 连接重定向的反向代理

    在我的应用程序中我集成了Identity server 3 with openid connect 在我们的生产服务器上 我们的网站位于反向代理后面 这会导致问题 当用户登录并被身份服务器重定向回来时 我们的应用程序希望将用户重定向到他的原
  • 如何在 JavaScript 中获取 css3 翻译后元素的位置?

    我在 stackoverflow 上看到了以两种不同形式发布的内容 但这些解决方案对我不起作用 本质上 我有一个要翻译的项目 当我执行 obj style left 或 obj offsetLeft 时 在元素被翻译后 我得到 0 无论如何
  • Docker:容器与本地安装

    在周末第一次使用 Docker 并看到 irssi mutt 浏览器等所有内容的小图像之后 我想知道本地安装的软件包是否正在为数十个容器让路 我可以看到保持基本系统非常干净以及拥有所有这些容器都是独立的并且可以轻松地重新定位到不同桌面 甚至
  • 将 pandas join 中的列后缀转换为 MultiIndex

    我有两个 pandas DataFrame 它们具有 不一定 相同的索引和列名称 gt gt gt df L pd DataFrame X 1 3 Y 5 7 gt gt gt df R pd DataFrame X 2 4 Y 6 8 我
  • 如果未安装应用程序,如何从深层链接重定向到应用程序商店?

    我希望用户能够通过 Facebook 等共享链接 例如 app com SKFLA 这主要是因为深层链接本身不可点击 单击时 会重定向到深层链接应用程序 SKFLA 如果安装了该应用程序 则会打开该应用程序 到目前为止一切正常 但如果该应用
  • Javascript / CSS:设置(firefox)iframe 的缩放级别?

    我想创建一个包含多个显示不同页面的 iframe 的页面 一种 并排浏览多个页面 类型的东西 问题是这样做时 视口非常小 我只能看到每个页面的左上角 有没有办法设置 iframe 来有效地执行 Firefox 的缩小 ctrl 减号 几次
  • 如何在Java中向文件写入换行符

    我有一个包含新行的字符串 我将此字符串发送到一个函数 以将字符串写入文本文件 如下所示 public static void writeResult String writeFileName String text try FileWrit
  • 按等级排列的 FindBugs 2.0 错误列表?

    我知道有list http findbugs sourceforge net bugDescriptions html错误 但我想要一个包含有关排名 版本 2 0 中为 1 到 20 或至少有关排名组 令人担忧 令人不安 可怕 最可怕 的附
  • 在SecurityManager下创建对象时出现NoClassDefFoundError

    我试图通过在非常严格的 SecurityManager 下运行处理用户提供的内容的代码来保护我的应用程序 它是 AccessController doPrivileged 的本质 通常这用于提供具有额外权限的代码块 但我使用它来将代码块限制
  • Spring Boot 日志中缺少应用程序名称

    例如 人们通常会得到这样的内容 my service id 是应用程序名称 2016 02 11 17 12 45 404 INFO my service id 85184 nio 8080 exec 1 com example MySim
  • SQL Server 2014 合并重叠的日期范围

    我在 SQL Server 2014 数据库中有一个包含 200 000 行的表 如下所示 CREATE TABLE DateRanges Contract VARCHAR 8 Sector VARCHAR 8 StartDate DATE
  • JNDI 没有可用于处理的 EJB 接收器

    我的 EJBTest 有问题 我已经安装了WildFly并配置了用户管理和应用程序管理 我编写了一个 EJB 3 0 并部署了它 Stateless Remote NewSessionBeanRemote class public clas
  • 如何在 1 个 Windows 服务中托管 2 个 WCF 服务?

    我有一个 WCF 应用程序 它有两个服务 我尝试使用 net tcp 将它们托管在单个 Windows 服务中 我可以很好地运行其中一个服务 但是当我尝试将它们都放入 Windows 服务时 只有第一个服务会加载 我已确定正在调用第二个服务
  • 将 WCF 服务与 Entity Framework 4 和...DTO 结合使用?

    如上所述 我正在实现一个多层架构来与 WCF 和 Entity Framework 4 使用 poco 配合使用 由于我已经对 POCO 持久性一无所知 所以我确实需要实现 DTO 或者我可以以其纯粹的方式使用 WCF 主要引用是 我确实需
  • Python - 如何通过空格将标点符号与单词分开,在标点符号和单词之间只留下一个空格?

    我有以下字符串 input I love programming with Python 3 3 Do you It s great I give it a 10 10 It s free to use no involved 除了 和 之
  • Node.js 准备好用于生产了吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 开始一个新项目 它基本上是一个博客 评论系统 我们正在考虑使用 Node js 作为后端服务器 Node js 是否已准备好应对此类事情 还是还
  • 在swift 3和核心图形中画一条直线

    我正在尝试使用核心图形和 swift 3 绘制一条直线 但是 当调用touchesmoved 时 它会创建多条线 而不仅仅是一条线 使用的代码如下 import UIKit class ViewController UIViewContro
  • 不需要的 onItemSelected 调用

    我有 36 个微调器 我已经用一些值初始化了它们 我已经与他们一起使用了 onItemSelectedListener 像往常一样 用户可以与这些旋转器交互 触发 onItemSeected 函数 一个问题是调用是在 init 期间进行的
  • 无法让 Swagger UI 与 Spring boot 一起使用

    我正在尝试让 Swagger UI 与 Spring Boot 1 2 1 一起使用 我按照以下说明进行操作https github com martypitt swagger springmvc https github com mart