Linux上 Swagger 兼容性问题的系统化解决方案
一 版本与依赖治理
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.1.0</version>
</dependency>
访问地址通常为:http://localhost:8080/swagger-ui/index.html。dependencies 任务排查冲突,尤其是 Guava 等多版本并存导致的运行时异常。二 部署与代理配置
docker run -d -p 8080:8080 swaggerapi/swagger-ui:latest
docker run -d -p 8081:8080 swaggerapi/swagger-editor:latest
访问 UI 与 Editor 分别通过 http://index.html 中把 url 指向你的 OpenAPI JSON(如 /v3/api-docs 或自定义规范文件)。location /api-docs/ {
proxy_pass http://127.0.0.1:8080;
proxy_set_header X-Forwarded-Prefix /api-docs;
}
location /swagger-ui/ {
proxy_pass http://127.0.0.1:8080;
proxy_set_header X-Forwarded-Prefix /swagger-ui;
}
如使用上下文路径(如 server.servlet.context-path),务必在 UI 配置中同步设置 swagger-ui.path 或 springdoc.swagger-ui.path,确保资源与 API 前缀一致。三 常见错误与快速修复
location 与 X-Forwarded-Prefix。firewall-cmd/ufw)。四 安全与访问控制
springdoc.api-docs.enabled)按需在生产环境关闭或分组暴露,降低攻击面。五 跨平台与持续交付建议