在 Debian 上“配置 Swagger”通常分几种场景,我按最常见的几种情况给你说明,你可以对号入座。
这是 最典型 的 Swagger 使用方式。
sudo apt update
sudo apt install openjdk-17-jdk -y
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.3.0</version>
</dependency>
@Configuration
public class SwaggerConfig {
@Bean
public OpenAPI customOpenAPI() {
return new OpenAPI()
.info(new Info()
.title("API 文档")
.version("1.0")
.description("Debian 上的 Swagger 示例"));
}
}
http://服务器IP:8080/swagger-ui.html
# 或(SpringDoc)
http://服务器IP:8080/swagger-ui/index.html
sudo apt install nodejs npm -y
npm init -y
npm install swagger-ui-express yamljs
const express = require("express");
const swaggerUi = require("swagger-ui-express");
const YAML = require("yamljs");
const swaggerDocument = YAML.load("./swagger.yaml");
const app = express();
app.use("/api-docs", swaggerUi.serve, swaggerUi.setup(swaggerDocument));
app.listen(3000, () => {
console.log("Swagger: http://localhost:3000/api-docs");
});
sudo apt install nginx -y
cd /var/www
sudo git clone https://github.com/swagger-api/swagger-ui.git
server {
listen 80;
server_name your_domain;
location / {
root /var/www/swagger-ui/dist;
index index.html;
}
}
sudo nginx -t
sudo systemctl restart nginx
访问:
http://服务器IP
✅ 防火墙
sudo ufw allow 80
sudo ufw allow 8080
✅ 云服务器
1️⃣ 你用的是 Java / Node / Python / Go?
2️⃣ 是 开发环境 还是 服务器部署?
3️⃣ 用的是 Swagger 2 还是 OpenAPI 3?
我可以直接给你一份可复制的配置。