Linux环境下 Swagger 兼容性问题的系统解决方案
一 版本选择与依赖治理
dependencyInsight 分析并统一版本,避免运行时 NoSuchMethodError/ClassNotFoundException。<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.1.0</version>
</dependency>
以上要点可显著降低因版本不匹配与依赖冲突导致的兼容性问题。二 Spring 项目配置与注解迁移
GroupedOpenApi 将不同业务域或版本的接口分组展示,便于大型项目的文档治理。@Configuration
public class SwaggerConfig {
@Bean
public GroupedOpenApi publicApi() {
return GroupedOpenApi.builder()
.group("public")
.pathsToMatch("/public/**")
.build();
}
}
三 部署访问与反向代理要点
docker pull swaggerapi/swagger-ui:latest
docker run -d -p 8080:8080 swaggerapi/swagger-ui:latest
访问 http://location /api-docs/ {
proxy_pass http://127.0.0.1:8080/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Prefix /api-docs;
}
四 常见错误与快速排查
五 安全与版本管理建议