1. 安装Swagger Codegen
在Ubuntu上,Swagger Codegen的安装方式主要有三种:
sudo apt update && sudo apt install -y swagger-codegen
sudo apt install -y python3-pip,再执行:pip3 install --user swagger-codegen
安装后,需将~/.local/bin添加到环境变量PATH中(编辑~/.bashrc或~/.zshrc,添加export PATH=$PATH:~/.local/bin,然后运行source ~/.bashrc)。curl -L https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/3.0.34/swagger-codegen-cli-3.0.34.jar -o swagger-codegen-cli.jar
将JAR文件保存到常用目录(如~/tools),后续通过java -jar命令调用。2. 准备OpenAPI规范文件
Swagger Codegen依赖OpenAPI规范文件(旧称Swagger规范),格式为.yaml或.json,用于描述API的端点、参数、数据模型等。你可以:
sudo snap install swagger-editor --classic安装)在线编写并验证规范,导出为.yaml或.json文件。3. 生成客户端/服务器代码
使用以下命令生成目标语言的代码,关键参数说明:
-i:指定OpenAPI规范文件的路径(如~/api-spec.yaml);-l:指定目标语言(支持java、python、javascript、csharp、go等,可通过swagger-codegen langs查看所有支持语言);-o:指定输出目录(如~/generated-code);--package-name(指定包名,如Java的com.example.api)、--additional-properties(自定义配置,如modelNamePrefix=My)。示例命令:
~/java-client目录:swagger-codegen generate -i ~/api-spec.yaml -l java -o ~/java-client
~/python-client目录:swagger-codegen generate -i ~/api-spec.yaml -l python -o ~/python-client
java -jar ~/tools/swagger-codegen-cli.jar generate -i ~/api-spec.yaml -l javascript -o ~/js-client
4. 集成与后续操作
~/java-client目录复制到项目的src/main/java下,或在pom.xml中添加依赖);~/python-client目录添加到PYTHONPATH(如export PYTHONPATH=$PYTHONPATH:~/python-client),或使用pip install -e ~/python-client(若支持可编辑模式)。openapi-generator-maven-plugin、Gradle的openApiGenerate任务),实现代码自动生成。5. 常见问题解决
swagger-codegen,检查环境变量PATH是否包含安装目录(如~/.local/bin),或使用完整路径(如~/.local/bin/swagger-codegen)。openapi: 3.0.0)与Swagger Codegen版本兼容(可通过swagger-codegen version查看当前版本)。swagger-codegen-cli.jar的templates目录),修改后通过--template-dir参数指定模板目录。