82 lines
1.6 KiB
Markdown
82 lines
1.6 KiB
Markdown
# XY Swagger Generator
|
||
|
||
基于 Swagger/OpenAPI 的 Dart/Flutter API/模型代码生成工具。
|
||
|
||
## 功能简介
|
||
- 根据 swagger.json 自动生成 Dart API 接口、模型、枚举等
|
||
- 支持 Retrofit、json_serializable 等主流生态
|
||
- 支持自定义生成规则和命名风格
|
||
|
||
## 快速开始
|
||
```bash
|
||
# 安装依赖
|
||
flutter pub get
|
||
# 或
|
||
pub get
|
||
|
||
# 生成模型和API
|
||
sh run_swagger.sh
|
||
# 或
|
||
dart run bin/main.dart generate --models --api
|
||
```
|
||
|
||
## 目录结构
|
||
```
|
||
swagger/
|
||
bin/ # 命令行入口
|
||
generator/ # 生成的 API、模型、文档
|
||
lib/ # 生成器核心代码
|
||
tests/ # 单元测试
|
||
swagger.json # Swagger/OpenAPI 源文件
|
||
```
|
||
|
||
## 运行测试
|
||
```bash
|
||
dart run test tests/
|
||
```
|
||
|
||
## 贡献指南
|
||
- 代码需包含中英文注释
|
||
- 新增功能请补充对应测试用例
|
||
- 生成规则/命名风格如有特殊需求请在 issue 说明
|
||
|
||
## 常见问题
|
||
- 生成模型/接口命名不规范?请检查 swagger 字段命名和生成规则
|
||
- 枚举、泛型、嵌套对象支持?已支持主流用法,特殊场景请补充 issue
|
||
|
||
### 脚本命令说明
|
||
|
||
#### Linux/macOS (run_swagger.sh)
|
||
```bash
|
||
# 显示帮助
|
||
./run_swagger.sh help
|
||
|
||
# 只生成数据模型
|
||
./run_swagger.sh models
|
||
|
||
# 只生成API文档
|
||
./run_swagger.sh docs
|
||
|
||
# 只生成Retrofit API
|
||
./run_swagger.sh api
|
||
```
|
||
|
||
#### Windows (run_swagger.bat)
|
||
```cmd
|
||
# 显示帮助
|
||
run_swagger.bat help
|
||
|
||
# 只生成数据模型
|
||
run_swagger.bat models
|
||
|
||
# 只生成API文档
|
||
run_swagger.bat docs
|
||
|
||
# 只生成Retrofit API
|
||
run_swagger.bat api
|
||
```
|
||
|
||
---
|
||
|
||
更新日期:2025-07-13
|
||
作者:Max |