Swagger (现称OpenAPI) 在Linux环境下进行版本控制可以通过以下几种方式实现:
# 初始化Git仓库
git init
# 创建.gitignore文件排除不需要版本控制的文件
echo "node_modules/" >> .gitignore
echo ".swagger-codegen/" >> .gitignore
echo "dist/" >> .gitignore
将Swagger/OpenAPI规范文件(YAML/JSON)纳入版本控制
git add swagger.yaml
git commit -m "Initial Swagger API specification"
使用分支管理不同版本
git checkout -b api-v1
# 修改v1版本API
git commit -am "API v1 changes"
git checkout -b api-v2
# 修改v2版本API
# 安装Node.js版本
npm install -g swagger-cli
# 或者使用Docker版本
docker pull swaggerapi/swagger-codegen-cli
# swagger.yaml 示例
swagger: "2.0"
info:
version: 1.0.0
title: My API
paths:
/users:
get:
summary: Get users
responses:
200:
description: OK
git tag -a v1.0.0 -m "Initial API version"
git push origin v1.0.0
URL路径版本控制
paths:
/v1/users:
get:
# v1实现
/v2/users:
get:
# v2实现
请求头版本控制
parameters:
- name: X-API-Version
in: header
required: true
type: string
enum: ["1.0", "2.0"]
# .gitlab-ci.yml 示例
stages:
- validate
- generate
- deploy
validate_swagger:
stage: validate
script:
- swagger-cli validate swagger.yaml
generate_client:
stage: generate
script:
- docker run --rm -v ${PWD}:/local swaggerapi/swagger-codegen-cli generate
-i /local/swagger.yaml
-l python
-o /local/client/python
通过以上方法,您可以在Linux环境下有效地对Swagger/OpenAPI规范进行版本控制,确保API演化的可追溯性和可维护性。