首先检查Debian系统版本(cat /etc/os-release)和基础依赖是否满足要求。例如,安装Node.js、npm(用于Swagger UI)、Java(用于Spring Boot项目)、.NET SDK(用于.NET Core项目)等核心依赖:
sudo apt update && sudo apt upgrade -y
sudo apt install -y nodejs npm openjdk-17-jdk dotnet-sdk-6.0
确保依赖版本与Swagger工具(如Swagger UI、Springfox、Swashbuckle)兼容。
根据项目中使用的框架(如Spring Boot、.NET Core、Node.js),采取对应的解决措施:
Spring Boot项目:
springdoc-openapi-starter-webmvc-ui):<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.1.0</version>
</dependency>
application.yml):springdoc:
api-docs:
path: /v3/api-docs
swagger-ui:
path: /swagger-ui.html
guava)。.NET Core项目:
dotnet add package Swashbuckle.AspNetCore);public void ConfigureServices(IServiceCollection services) {
services.AddSwaggerGen(c => c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" }));
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env) {
app.UseSwagger();
app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1"));
}
```。
Node.js项目:
swagger-ui-express和yamljs库(npm install swagger-ui-express yamljs);swagger.yaml)并配置路由:const express = require('express');
const swaggerUi = require('swagger-ui-express');
const YAML = require('yamljs');
const app = express();
const swaggerDocument = YAML.load('./swagger.yaml');
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocument));
app.listen(3000, () => console.log('Server running on port 3000'));
```。
依赖冲突是常见错误来源(如Spring Boot项目中的guava版本冲突)。使用构建工具的冲突检测功能:
mvn dependency:tree查看依赖树,排除冲突的依赖(如minio库中的guava):<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>2.9.2</version>
<exclusions>
<exclusion>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</exclusion>
</exclusions>
</dependency>
npm ls查看依赖树,通过resolutions字段(在package.json中)强制指定版本。swagger.yaml或application.yml)中的路径、版本、host等信息正确;@ApiOperation、@ApiParam,Node.js的@swagger标签),确保API信息被正确解析。http://localhost:8080/swagger-ui.html、Node.js的http://localhost:3000/api-docs),验证是否能正常显示文档;sudo apt install -y docker.io
docker pull swaggerapi/swagger-ui
docker run -p 8080:8080 -d swaggerapi/swagger-ui
访问http://your-debian-ip:8080即可查看Swagger UI。若问题仍未解决,可通过以下途径获取支持: