208 lines
5.4 KiB
YAML
208 lines
5.4 KiB
YAML
# Swagger 代码生成器配置文件
|
||
# 示例项目配置
|
||
|
||
# 基本配置
|
||
generator:
|
||
name: "xy_swagger_generator"
|
||
version: "1.0"
|
||
author: "max"
|
||
copyright: "Copyright (C) 2025 YuanXuan. All rights reserved."
|
||
|
||
# 输入配置
|
||
input:
|
||
# Swagger 文档源(支持多版本)
|
||
# 注意:多个 URL 会按顺序合并,后面的文档会覆盖前面的同名模型和路径
|
||
# 因此建议将高版本(如 V2)配置在低版本(如 V1)之后,以确保高版本的模型覆盖低版本
|
||
# 例如:V1 在前,V2 在后,那么 V2 的模型会覆盖 V1 的同名模型
|
||
swagger_urls: # 完整形式:可以控制每个版本的启用状态
|
||
- url: "http://192.168.2.7:17288/swagger/v1/swagger.json"
|
||
enabled: true
|
||
- url: "http://192.168.2.7:17288/swagger/v2/swagger.json"
|
||
enabled: true
|
||
- url: "http://192.168.2.7:17288/swagger/v3/swagger.json"
|
||
enabled: true
|
||
# 验证配置
|
||
validate_schema: true
|
||
strict_mode: false
|
||
|
||
# 输出配置
|
||
output:
|
||
# 输出目录
|
||
base_dir: "./lib/src"
|
||
api_dir: "./lib/src/api"
|
||
models_dir: "./lib/src/api_models"
|
||
|
||
# 文件命名
|
||
api_file_suffix: "_api.dart"
|
||
model_file_suffix: ".dart"
|
||
|
||
# 是否按 tag 分组
|
||
split_by_tags: true
|
||
|
||
excluded_tags:
|
||
# 通用
|
||
- "Login"
|
||
- "MyInfo"
|
||
# K8S
|
||
- "HealthCheck"
|
||
# H5 积分
|
||
- "Points"
|
||
# H5意见反馈
|
||
- "FeedBackInfo"
|
||
|
||
# 跳过的目录列表(这些目录下的文件将不会被生成)
|
||
# 支持相对路径和绝对路径,支持目录名或完整路径
|
||
ignored_directories:
|
||
# - "class_type_enum.dart"
|
||
# - "sys_role_enum.dart"
|
||
# - "sys_task_type_enums.dart"
|
||
# - "teaching_level_enum.dart"
|
||
# - "base_task_add_result.dart"
|
||
# - "school_tree.dart"
|
||
# - "sys_parameter.dart"
|
||
# - "task_checklist_cloud_school_result.dart"
|
||
# - "api/v1" # 跳过 v1 版本的 API
|
||
# - "api_models/request" # 跳过请求模型目录
|
||
# - "./lib/generated/api/v2" # 跳过特定路径
|
||
|
||
# 跳过的文件名列表(这些文件将不会被生成)
|
||
# 支持精确匹配、通配符匹配和模式匹配
|
||
ignored_files:
|
||
# 精确匹配文件名
|
||
# - "user_api.dart" # 跳过名为 user_api.dart 的文件
|
||
# - "mobile_manager_api.dart" # 跳过指定文件
|
||
|
||
# 通配符匹配(支持前缀和后缀)
|
||
# - "*_api.dart" # 跳过所有以 _api.dart 结尾的文件
|
||
# - "user*.dart" # 跳过所有以 user 开头的 .dart 文件
|
||
# - "*manager*" # 跳过所有包含 manager 的文件名
|
||
|
||
# 示例:跳过所有 v1 版本的 API 文件(如果文件名包含版本信息)
|
||
# - "*_api_v1.dart"
|
||
# - "*V1*.dart"
|
||
|
||
# 代码生成配置
|
||
generation:
|
||
# API 接口配置
|
||
api:
|
||
enabled: true
|
||
use_retrofit: true
|
||
use_dio: true
|
||
parser: "JsonSerializable"
|
||
|
||
# 版本提取配置(多版本支持)
|
||
version_extraction:
|
||
# 版本提取正则表达式模式
|
||
pattern: "/api/v(\\d+)/"
|
||
# 默认版本(当无法从路径提取版本时使用)
|
||
default_version: "v1"
|
||
|
||
# 基础类型配置
|
||
base_result_type: "BaseResult"
|
||
base_page_result_type: "BasePageResult"
|
||
base_result_import: "package:example_app/common/base_result.dart"
|
||
base_page_result_import: "package:example_app/common/base_page_result.dart"
|
||
|
||
# 方法命名
|
||
method_naming: "camelCase"
|
||
|
||
# 启用 CancelToken 支持
|
||
cancel_token_support: true
|
||
|
||
# 数据模型配置
|
||
models:
|
||
enabled: true
|
||
use_json_serializable: true
|
||
|
||
# JsonSerializable 配置
|
||
json_serializable:
|
||
checked: true
|
||
include_if_null: false
|
||
explicit_to_json: true
|
||
|
||
# 类命名
|
||
class_naming: "PascalCase"
|
||
field_naming: "camelCase"
|
||
|
||
# 构造函数配置
|
||
use_const_constructor: true
|
||
required_for_non_nullable: true
|
||
|
||
# 枚举键名映射配置(测试)
|
||
enum_key_mappings:
|
||
SysTaskTypeEnums:
|
||
- value: 1
|
||
name: SPOT_CHECK
|
||
description: 抽查
|
||
- value: 2
|
||
name: CULTURAL
|
||
description: 文创建设
|
||
- value: 3
|
||
name: CLASS_CADRE_MEETING
|
||
description: 班干部会议
|
||
- value: 4
|
||
name: CULTURAL_PROJECT
|
||
description: 文创项目
|
||
- value: 5
|
||
name: TEACHER_AWARD
|
||
description: 教工评优
|
||
- value: 6
|
||
name: CLASS_EVALUATION
|
||
description: 班级评比
|
||
- value: 7
|
||
name: ORGANIZATION_LIFE
|
||
description: 组织生活
|
||
|
||
# 类型映射配置
|
||
type_mapping:
|
||
string: "String"
|
||
integer: "int"
|
||
number: "double"
|
||
boolean: "bool"
|
||
array: "List"
|
||
object: "Map<String, dynamic>"
|
||
date: "DateTime"
|
||
date-time: "DateTime"
|
||
binary: "Uint8List"
|
||
|
||
# 导入管理配置
|
||
imports:
|
||
on_demand: true
|
||
auto_sort: true
|
||
group_imports: true
|
||
|
||
dart_imports:
|
||
- "dart:convert"
|
||
- "dart:typed_data"
|
||
|
||
package_imports:
|
||
- "package:dio/dio.dart"
|
||
- "package:retrofit/retrofit.dart"
|
||
- "package:json_annotation/json_annotation.dart"
|
||
|
||
# 验证配置
|
||
validation:
|
||
strict_mode: false
|
||
checks:
|
||
- "schema_exists"
|
||
- "ref_resolution"
|
||
- "type_consistency"
|
||
on_error: "warn"
|
||
on_warning: "log"
|
||
|
||
# 优化配置
|
||
optimization:
|
||
remove_unused_imports: true
|
||
optimize_imports: true
|
||
cache_schemas: true
|
||
parallel_generation: false
|
||
lazy_loading: true
|
||
|
||
# 调试配置
|
||
debug:
|
||
verbose: false
|
||
debug_output: false
|
||
performance_monitoring: false
|
||
generation_stats: true
|
||
|