Swagger (现称为 OpenAPI) 是一个强大的 API 开发工具集,在 Linux 环境下可以与多种工具协同工作,提高 API 开发效率。以下是主要协同方式:
# 安装
wget https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.10/swagger-codegen-cli-2.4.10.jar -O swagger-codegen-cli.jar
# 生成客户端代码
java -jar swagger-codegen-cli.jar generate -i api.yaml -l python -o /path/to/output
支持的生成目标包括: - 客户端:Java, Python, Go, JavaScript 等 - 服务器端:Spring, Node.js, Flask 等 - 文档:HTML, Markdown 等
# 直接从 Swagger 文档生成 cURL 命令
curl -X GET "http://api.example.com/users" -H "accept: application/json"
# 示例 Jenkinsfile 阶段
stage('API Documentation') {
steps {
sh 'java -jar swagger-codegen-cli.jar generate -i api.yaml -l html -o docs'
archiveArtifacts 'docs/**'
}
}
# 安装
npm install -g redoc-cli
# 生成文档
redoc-cli bundle api.yaml -o api-documentation.html
# 使用 Docker 快速启动
docker run -p 8080:8080 -e SWAGGER_JSON=/api.yaml -v /path/to/api.yaml:/api.yaml swaggerapi/swagger-ui
# 使用 Insomnia 或 Postman 导入 Swagger 定义到 Kong
# 或使用 decK (Kong 的声明式配置工具)
deck sync -s api.yaml
可以通过 Swagger 定义生成 Nginx 配置模板,用于路由和负载均衡。
通过生成的 API 客户端集成监控指标导出。
# 示例 pre-commit hook 验证 Swagger 文件
#!/bin/sh
swagger-cli validate api.yaml || exit 1
swagger-cli validate
确保定义文件有效通过以上协同方式,可以在 Linux 环境下构建完整的 API 开发、测试、文档和部署工作流。