swagger_generator_flutter/CHANGELOG.md

3.2 KiB
Raw Blame History

Changelog

All notable changes to this project will be documented in this file.

[3.0.0] - 2025-11-21

Breaking changes

  • Removed OptimizedRetrofitGenerator and its public export. RetrofitApiGenerator is now the sole supported generator.

Migration

  • Replace imports/usages of OptimizedRetrofitGenerator with RetrofitApiGenerator. Example:
    • Before: import 'package:swagger_generator_flutter/generators/optimized_retrofit_generator.dart'; final generator = OptimizedRetrofitGenerator(className: 'ApiService');
    • After: import 'package:swagger_generator_flutter/generators/retrofit_api_generator.dart'; final generator = RetrofitApiGenerator( className: 'ApiService', useRetrofit: true, useDio: true, splitByTags: true, versionedApi: true, );

Docs

  • Updated README and docs to reference RetrofitApiGenerator only.

[2.1.1] - 2025-11-05

🎉 新特性

作为 dev_dependencies 支持

  • 添加 executables 配置,支持作为 dev_dependencies 在其他项目中使用
  • 可通过 dart run swagger_generator_flutter generate 命令执行
  • 支持从使用者项目根目录读取 generator_config.yaml 配置文件
  • 新增完整的使用指南 USAGE_AS_DEV_DEPENDENCY.md
  • 提供配置文件模板 generator_config.template.yaml

📝 文档更新

  • 更新 README.md新增 "作为 dev_dependencies 使用" 章节
  • 新增详细的集成指南,包含 CI/CD 示例
  • 提供完整的工作流程说明

🔧 配置优化

  • 更新 pubspec.yaml 描述信息
  • 添加可执行命令映射配置

[2.1.0] - 2025-11-03

🎉 主要新特性

多版本 API 支持

  • 支持解析多个 Swagger 文档 URLv1/v2/v3...
  • API 文件按版本自动分目录api/v1/、api/v2/
  • V1 版本类名保持简洁(不加后缀,如 MobileManagerApi
  • V2+ 版本类名添加版本号后缀(如 MobileManagerApiV2
  • ApiClient 提供清晰的版本化访问器

模型智能分类

  • 新增 ModelUsageType 枚举request/response/common/unknown
  • 自动分析 Swagger paths 判定模型实际用途
  • 精确区分请求参数和返回结果

目录结构优化

  • api_models/enums/ - 枚举类型
  • api_models/request/ - 请求模型
  • api_models/result/ - 响应模型
  • api_models/parameters/ - 查询参数类
  • 每个子目录自动生成 index.dart 便于导入

改进

默认值处理

  • 响应模型的 List 类型自动添加 @JsonKey(defaultValue: [])
  • 请求模型不添加默认值,避免影响后端接收
  • 更安全的 null 值处理

导入策略

  • API 文件统一使用 import '../../api_models/index.dart'
  • 利用 Dart tree-shaking不影响应用大小
  • 简化导入管理,提高可维护性

🔧 配置变更

  • SwaggerConfig.swaggerJsonUrls 现在支持多个 Swagger 文档 URL
  • 移除了单独的 swaggerJsonUrl 配置项

📝 文档

  • 新增 CANCELTOKEN_USAGE_GUIDE.md - CancelToken 使用指南
  • 新增 CHANGELOG_CANCELTOKEN.md - CancelToken 功能变更日志

[2.0.1] - 2025-10-XX

改进

  • 性能优化和 bug 修复
  • 代码质量提升

[2.0.0] - 2025-09-XX

重大变更

  • 项目重构
  • 支持 Retrofit
  • 优化代码生成逻辑