在Debian系统上发布Swagger API,通常是为了方便API文档的生成和管理。以下是一个基本的步骤指南,假设你使用的是基于Express框架的Node.js后端项目。
更新系统包:
sudo apt update
sudo apt upgrade -y
安装Node.js和npm:
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs
安装Go环境(如果你使用的是Go语言):
sudo apt install golang -y
mkdir -p $HOME /go/src/github.com/your_username/your_project
cd $HOME /go/src/github.com/your_username/your_project
安装Swagger依赖:
go get -u github.com/swaggo/swag/cmd/swag
go get -u github.com/gin-gonic/gin
初始化Swagger: 在你的项目根目录下运行:
swag init
修改代码以包含Swagger注释: 在你的API处理函数中添加Swagger注释,例如:
// @Summary 获取所有用户
// @Description 获取所有用户
// @Tags Users
// @Accept json
// @Produce json
// @Param limit query int false "每页的数量" default(10)
// @Param page query int false "页数" default(1)
// @Success 200 {object} Page
// @Router /users [get]
func GetUsers(c *gin.Context) {
// 你的代码逻辑
}
重新生成Swagger文档:
swag init
构建并运行项目:
go build -o main ../main
./main
访问Swagger UI:
找到Swagger UI的访问地址,通常是 http://localhost:你的端口号/swagger/index.html
。
如果你想要通过HTTPS访问Swagger UI或者想要更好地控制访问,你可以使用Nginx作为反向代理。
安装Nginx:
sudo apt install nginx
配置Nginx以将流量转发到你的Node.js应用程序:
编辑Nginx配置文件(通常位于 /etc/nginx/sites-available/default
),添加以下内容:
server {
listen 80;
server_name your_domain_or_ip;
location /api-docs {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host host;
proxy_cache_bypass http_upgrade;
}
}
保存文件并重启Nginx:
sudo systemctl restart nginx
现在,你应该可以通过 http://your_domain_or_ip/api-docs
访问Swagger UI。