在Ubuntu上使用Swagger进行接口测试并通过Docker进行容器化部署,可以遵循以下步骤:
在Ubuntu上安装Swagger
- 安装Node.js和npm:
sudo apt update
sudo apt install -y nodejs npm
- 安装Swagger Editor:
wget https://github.com/swagger-api/swagger-editor/archive/refs/tags/v3.16.1.tar.gz
tar -xvf v3.16.1.tar.gz
cd swagger-editor-3.16.1
npm install
http-server -p 8080
现在可以在浏览器中访问 http://localhost:8080 来使用Swagger Editor。
- 安装Swagger UI:
wget https://github.com/swagger-api/swagger-ui/archive/refs/tags/v3.48.0.tar.gz
tar -xvf v3.48.0.tar.gz
cd swagger-ui-3.48.0
npm install
http-server -p 8081
现在可以在浏览器中访问 http://localhost:8081 来使用Swagger UI。
- 配置Swagger Editor和Swagger UI:
- Swagger Editor:默认情况下会加载
https://petstore.swagger.io/v2/swagger.json,可以通过编辑index.html文件来更改默认的Swagger规范文件路径。 - Swagger UI:在Swagger UI中,可以通过输入框输入Swagger规范文件(通常是
swagger.yaml或swagger.json)的URL,然后点击“Explore”按钮来加载和测试API接口。
使用Docker容器化Swagger
- 创建Dockerfile:
# 使用官方的Node.js镜像作为基础镜像
FROM node:14
# 设置工作目录
WORKDIR /usr/src/app
# 复制package.json和package-lock.json到工作目录
COPY package*.json ./
# 安装依赖
RUN npm install
# 复制应用代码到工作目录
COPY . .
# 暴露Swagger UI和Swagger Editor的端口
EXPOSE 8080 8081
# 启动应用
CMD ["http-server", "-p", "8080"]
- 构建Docker镜像:
docker build -t swagger-app .
- 运行Docker容器:
docker run -p 8080:8080 -p 8081:8081 swagger-app
验证Swagger是否在Docker容器中正常工作
- 打开浏览器,访问
http://localhost:8080应该可以看到Swagger Editor。 - 打开浏览器,访问
http://localhost:8081应该可以看到Swagger UI,并且可以加载和测试API接口。
通过以上步骤,你可以在Ubuntu上成功安装和配置Swagger,并通过Docker进行容器化部署,从而方便地在不同环境中使用和分享。