You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用openapi-generator-cli生成Dart-Dio客户端代码遇语法错误

解决OpenAPI Generator Dart-Dio生成器的语法错误与兼容性问题

问题概述

使用openapi-generator-cli 6.6.0的Dart-Dio生成器生成客户端代码时遇到以下问题:

  • token_info.dart第32行出现语法错误:const ._(TokenTypes.bearer)缺少标识符
  • token_info.g.dart未生成,导致TokenInfoBuilder未定义
  • 生成的pubspec.yaml中SDK版本范围为>=2.15.0 <3.0.0,与当前Dart 3.0.6不兼容

解决方案

1. 修复Dart SDK版本兼容性

编辑生成的pubspec.yaml,将SDK版本范围修改为兼容Dart 3.x:

environment:
  sdk: '>=2.15.0 <4.0.0'

2. 修复token_info.dart的语法错误

找到token_info.dart第32行的错误代码:

const ._(TokenTypes.bearer)

修正为类名开头的合法构造函数调用(替换为实际生成的类名,示例假设类名为TokenInfo):

const TokenInfo._(TokenTypes.bearer)

3. 重新运行build_runner生成缺失的.g.dart文件

在生成的client_api包目录下执行以下命令:

dart pub get
dart run build_runner build --delete-conflicting-outputs

4. 升级OpenAPI Generator版本(可选)

openapi-generator-cli 6.6.0可能存在对Dart 3.x的兼容bug,升级到更高版本(如7.x+)可避免类似问题:

openapi-generator-cli version-manager set 7.6.0

验证方法

  1. 执行上述修复步骤后,再次运行build_runner,确认无语法错误
  2. 导入生成的客户端代码到Flutter项目中,验证API调用功能正常

内容的提问来源于stack exchange,提问作者medim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 15:00:55