131 lines
2.6 KiB
YAML
131 lines
2.6 KiB
YAML
# API Client 配置示例
|
|
# 演示如何自定义 API Client 的类名和文件名
|
|
|
|
# 示例 1: 使用默认配置
|
|
# 如果不配置,将使用默认值:
|
|
# - class_name: ApiClient
|
|
# - file_name: api_client
|
|
generation:
|
|
api:
|
|
enabled: true
|
|
use_retrofit: true
|
|
use_dio: true
|
|
# client 配置可以省略,使用默认值
|
|
|
|
---
|
|
|
|
# 示例 2: 自定义 API Client 名称
|
|
# 适用于多个项目或模块,避免命名冲突
|
|
generation:
|
|
api:
|
|
enabled: true
|
|
use_retrofit: true
|
|
use_dio: true
|
|
|
|
client:
|
|
class_name: "MyApiClient" # 自定义类名
|
|
file_name: "my_api_client" # 自定义文件名
|
|
|
|
# 生成的文件:
|
|
# - lib/generated/api/my_api_client.dart
|
|
#
|
|
# 生成的类:
|
|
# class MyApiClient {
|
|
# final Dio _dio;
|
|
# ...
|
|
# }
|
|
|
|
---
|
|
|
|
# 示例 3: 项目特定的命名
|
|
# 根据项目名称自定义
|
|
generation:
|
|
api:
|
|
enabled: true
|
|
use_retrofit: true
|
|
use_dio: true
|
|
|
|
client:
|
|
class_name: "ShopApiClient"
|
|
file_name: "shop_api_client"
|
|
|
|
# 生成的文件:
|
|
# - lib/generated/api/shop_api_client.dart
|
|
#
|
|
# 生成的类:
|
|
# class ShopApiClient {
|
|
# final Dio _dio;
|
|
# ...
|
|
# }
|
|
|
|
---
|
|
|
|
# 示例 4: 模块化命名
|
|
# 适用于大型项目,按模块划分
|
|
generation:
|
|
api:
|
|
enabled: true
|
|
use_retrofit: true
|
|
use_dio: true
|
|
|
|
client:
|
|
class_name: "UserModuleApi"
|
|
file_name: "user_module_api"
|
|
|
|
# 生成的文件:
|
|
# - lib/generated/api/user_module_api.dart
|
|
#
|
|
# 生成的类:
|
|
# class UserModuleApi {
|
|
# final Dio _dio;
|
|
# ...
|
|
# }
|
|
|
|
---
|
|
|
|
# 示例 5: 完整配置示例
|
|
# 包含所有相关配置
|
|
generator:
|
|
name: "my_project_generator"
|
|
version: "1.0"
|
|
author: "Your Name"
|
|
copyright: "Copyright (C) 2025 Your Company. All rights reserved."
|
|
|
|
input:
|
|
swagger_urls:
|
|
- "https://your-api.com/swagger/v2/swagger.json"
|
|
|
|
output:
|
|
base_dir: "./lib/generated"
|
|
api_dir: "./lib/generated/api"
|
|
models_dir: "./lib/generated/api_models"
|
|
split_by_tags: true
|
|
|
|
generation:
|
|
api:
|
|
enabled: true
|
|
use_retrofit: true
|
|
use_dio: true
|
|
parser: "JsonSerializable"
|
|
|
|
# 自定义 API Client
|
|
client:
|
|
class_name: "AppApiClient"
|
|
file_name: "app_api_client"
|
|
|
|
# 使用方式:
|
|
# 1. 复制此配置到项目根目录的 generator_config.yaml
|
|
# 2. 运行生成命令:
|
|
# dart run swagger_generator_flutter generate --all
|
|
# 3. 生成的主 API 文件:
|
|
# lib/generated/api/app_api_client.dart
|
|
# 4. 在代码中使用:
|
|
# import 'package:your_app/generated/api/app_api_client.dart';
|
|
#
|
|
# final dio = Dio();
|
|
# final apiClient = AppApiClient(dio);
|
|
#
|
|
# // 访问 V2 版本的 API
|
|
# final result = await apiClient.mobileManagerV2.getData();
|
|
|