一个基于 Swagger/OpenAPI 3.0 规范自动生成 Rust SDK 的工具。
git clone <repository-url>
cd swagger-rust-sdk-generator
cargo build --release
# 从 远程 Swagger 文档生成 Rust SDK
cargo run -- -i https://api.cnb.cool/swagger.json -o cnb-rust -p rust-cnb
# 从 Swagger 文档生成 Rust SDK
cargo run -- -i examples/petstore.json -o output_dir -p my_api_client
# 生成包含 README 和 LICENSE 的完整项目
cargo run -- -i examples/petstore.json -o output_dir --readme --license
# 查看帮助信息
cargo run -- --help
-i, --input <FILE> - 输入的 Swagger/OpenAPI JSON 文件路径-o, --output <DIR> - 输出目录路径(默认:./generated-sdk)-p, --package-name <NAME> - 生成的 Rust 包名(默认:api-client)--readme - 生成 README.md 文件--license - 生成 LICENSE 文件项目包含一个完整的示例,基于 Petstore API:
# 查看示例项目
cd demo
cargo check
# 运行示例代码
cargo run --example usage
生成的 Rust SDK 包含以下文件:
output_dir/ ├── Cargo.toml # 项目配置 ├── README.md # 项目文档(使用 --readme 参数时生成) ├── LICENSE # 许可证文件(使用 --license 参数时生成) └── src/ ├── lib.rs # 库入口 ├── client.rs # HTTP 客户端 ├── models.rs # 数据模型 └── error.rs # 错误处理
# 运行单元测试
cargo test
# 运行集成测试
cargo run --bin test_generator
├── src/ │ ├── main.rs # CLI 入口 │ ├── swagger.rs # OpenAPI 解析 │ ├── generator.rs # 代码生成器 │ └── templates.rs # 模板定义 ├── examples/ │ └── petstore.json # 示例 API 文档 ├── demo/ # 完整示例项目 └── test_generator.rs # 测试程序
欢迎提交 Issue 和 Pull Request!
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
--readme 和 --license 命令行参数