Spring springdoc-openapi : swagger-ui/index.html 找不到 status=404

Spring springdoc-openapi : swagger-ui/index.html cannot be found status=404

我有一个 spring 启动应用程序 (2.5.6),它依赖于 springdoc-openapi。 但是,启动 swagger-ui (http://localhost:8080/v1/swagger-ui/index.html) 不起作用。 调试日志表明 index.html 不存在。 找不到 index.html 的原因可能是什么?

<dependency>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-ui</artifactId>
    <version>1.6.8</version>
</dependency>

application.yaml

springdoc:
  swagger-ui:
    tagsSorter: alpha
    operations-sorter: alpha
    doc-expansion: none
    disable-swagger-default-url: true

logging:
  level:
    root: DEBUG

server:
  port: 8080

spring:
  application:
    name: fe-applic-app
    api-version: "v1"

尝试 swagger-ui.html 而不是 swagger-ui/index.html。在 60% 的情况下 swagger-ui.html 重定向到其真实位置。

http://localhost:8080/v1/swagger-ui.html http://localhost:8080/v3/swagger-ui.html

我找到了问题的原因。 context-path 未在 application.yaml 中设置。

http://localhost:8080/v1/swagger-ui/index.html

添加 servlet 后:context-path,呈现 swagger-ui

server:
  port: 8080
  servlet:
    context-path: "/${spring.application.api-version}"