retrofit.dart
1,179
Stars
—
Forks
0
Watchers
—
Open Issues
待补全
许可证
Dart
语言
—
创建时间
最近更新
项目能做什么
基于 source_gen 的 Dio 客户端代码生成器,受 Chopper 和 Retrofit 启发。
来源:AI 基于仓库事实生成
· 内容以仓库实际 README 为准
使用说明 查看原始 README 原仓库文档
中文使用说明暂未生成。下面保留原仓库 README 摘录,命令与配置均以原文为准。
原始 README 摘录(英文原文,节选前 3000 字符)
# Retrofit For Dart
[](https://pub.dartlang.org/packages/retrofit)
[](https://pub.dartlang.org/packages/retrofit_generator)

[](https://github.com/trevorwang/retrofit.dart/actions/workflows/test.yml)
[](https://coveralls.io/github/trevorwang/retrofit.dart?branch=master)
retrofit.dart is a type conversion [dio](https://github.com/flutterchina/dio/) client generator using [source_gen](https://github.com/dart-lang/source_gen) and inspired by [Chopper](https://github.com/lejard-h/chopper) and [Retrofit](https://github.com/square/retrofit).
## Usage
### Generator
Add the generator to your dev dependencies
```yaml
dependencies:
retrofit: ^4.9.0
logger: ^2.6.0 # for logging purpose
json_annotation: ^4.9.0
dev_dependencies:
retrofit_generator: ^10.0.1
build_runner: ^2.6.0
json_serializable: ^6.10.0
```
### Define and Generate your API
```dart
import 'package:dio/dio.dart';
import 'package:json_annotation/json_annotation.dart';
import 'package:retrofit/retrofit.dart';
part 'example.g.dart';
@RestApi(baseUrl: 'https://5d42a6e2bc64f90014a56ca0.mockapi.io/api/v1/')
abstract class RestClient {
factory RestClient(Dio dio, {String? baseUrl}) = _RestClient;
@GET('/tasks')
Future<List<Task>> getTasks();
}
@JsonSerializable()
class Task {
const Task({this.id, this.name, this.avatar, this.createdAt});
factory Task.fromJson(Map<String, dynamic> json) => _$TaskFromJson(json);
final String? id;
final String? name;
final String? avatar;
final String? createdAt;
Map<String, dynamic> toJson() => _$TaskToJson(this);
}
```
### Configuration
You can customize the code generation behavior by creating a `build.yaml` file in your project root:
```yaml
targets:
$default:
builders:
retrofit_generator:
options:
# Control whether to add '// dart format off/on' comments (default: true)
format_output: true
# Enable automatic response type casting (default: true)
auto_cast_response: true
# Generate empty request body for methods without parameters (default: false)
empty_request_body: false
# Enable useResult annotation for methods (default: false)
use_result: false
# Global parser for type conversion (default: json_serializable)
# Supported values: dart_mappable, json_serializable, map_serializable, flutter_compute, dart_json_mapper
parser: dart_mappable
```
#### parser
Set the default serialization parser across all `@RestApi()` classes without needing to annotate
阅读完整原文
项目深度分析 AI 生成
Swagger/OpenAPI 转 Retrofit.dart 自动化生成 SaaS 工具
| 产品构想 | 针对 Retrofit.dart 仅支持代码正向生成网络实现的痛点,开发基于 OpenAPI 规范一键反向生成 Retrofit 接口声明及数据模型的 Web/CLI 效率平台。 |
| 核心功能 | OpenAPI/Swagger/Postman JSON 导入与实时解析、自动生成规范的 Retrofit `@RestApi` 类与对应 JSON 序列化模型、在线配置解析器规则(支持 json_serializable/dart_mappable)、CI/CD 自动化更新集成。 |
| 目标用户 | 频繁对接后端接口的 Flutter 开发者、跨职能研发团队、独立开发者。 |
| 难度/周期 | 中等 · 3-5 周 · 成本:低(基础云主机/无服务器架构与前端部署) |
| 收费模式 | 免费版限制单项目与接口数,专业版/团队版采用订阅制(按月/年付费,提供 CI/CD Webhook 触发与无限项目支持)。 |
| 竞争风险 | 市面上存在部分开源转换脚本(如 openapi-generator);需在生成的代码质量、Dart 类型安全度和 UI/交互体验上做出显著差异。 |
| 依据 | 已验证事实 |
API 资产变更自动化检测与 Dart 客户端同步服务(API-to-Client Sync)
| 产品构想 | 构建与后端 API 网关/文档平台联动的自动化管线,当后端接口变更时,自动生成 PR 将最新的 Retrofit 代码合入 Flutter 客户端代码库。 |
| 核心功能 | 后端 API 变更监控与 Diff 分析、自动生成符合 Retrofit.dart 规范的代码并触发 Git PR、API 破坏性变更告警、Mock 数据源同步更新。 |
| 目标用户 | 中大型 Flutter 团队的 Tech Lead、DevOps 工程师、外包交付团队。 |
| 难度/周期 | 较高 · 6-8 周 · 成本:中等(需维护任务调度引擎、代码沙箱生成环境与 GitHub/GitLab 深度集成) |
| 收费模式 | B2B SaaS 订阅模式,按监控的 API 数量或席位数分级收费,提供私有化部署买断服务。 |
| 竞争风险 | 企业网络安全与代码仓库访问权限审查严格;不同团队的 API 规范碎片化严重,兼容成本高。 |
| 依据 | AI推测 |
Flutter 离线优先与网络弹性架构插件(Retrofit 增强扩展包)
| 产品构想 | 基于 Retrofit.dart 与 Dio 构建付费/双许可的高级扩展组件,提供开箱即用的离线缓存同步、请求队列、断网自动重试与指标监控面板。 |
| 核心功能 | 与 Retrofit 声明式注解无缝集成的 `@Cached`、`@OfflineQueue` 注解;SQLite/Isar 本地缓存自动映射;网络恢复时的事务重放机制;可视化网络性能监测面板。 |
| 目标用户 | 海外弱网业务团队、企业级现场作业/仓储物流 Flutter 应用开发者。 |
| 难度/周期 | 中等 · 4-6 周 · 成本:极低(主要是本地开发与文档维护) |
| 收费模式 | 双重许可或商用闭源 License(按应用包名买断或年度技术支持订阅)。 |
| 竞争风险 | 高级开发者倾向于自行基于 Dio 拦截器编写逻辑;需要极高的稳定性和针对边缘异常情况的覆盖度来证明付费价值。 |
| 依据 | 尚需验证的假设 |
AI 基于仓库公开数据分析生成,含推测成分,不构成收益承诺。
报告会保存到 个人中心
竞品与相似项目 GitHub Search 真实检索
| 项目 | 中文简介 | Stars | 语言 |
|---|---|---|---|
| charafau/retrofit.dart | 中文介绍暂未生成 VERY simple retrofit client in dart (sample for presentation |
6 | Dart |
| ebwood/retrofit_wrapper_tools | 中文介绍暂未生成 dart retrofit library wrapper to handle error |
4 | Dart |
| luiscib3r/retrofit_cli | 中文介绍暂未生成 Dart Retrofit API Generator |
4 | Dart |
以上为通过 GitHub 官方 Search API 检索的相似项目,功能差异与优劣势需进一步人工确认,配置 AI 后可生成对比分析。
项目优势与风险
| 技术成熟度 | 创建时间待补全,最近推送 ,发布过 100 个 Release |
| 社区活跃 | Star 1,179 / Fork 0 / Issue 0(数据支持,可自行核实) |
| 许可证 | 未检测到(需人工确认) |
| 主要风险 | 上游项目方向可能变化;同赛道竞争者较多(见竞品表);热度与需求不完全等价 |
安装与使用
此项目未提供 Docker 镜像,安装步骤以原仓库 README 为准(涉及依赖安装与环境配置,对新手门槛较高)。