【发布时间】:2022-08-18 03:02:26
【问题描述】:
我是扑扑和飞镖的新手。我试图让以下示例在我的测试项目中工作:
https://pub.dev/packages/freezed#deserializing-generic-classes
这是我的整个飞镖文件(api_response.dart):
import \'package:freezed_annotation/freezed_annotation.dart\';
import \'package:flutter/foundation.dart\';
part \'api_response.freezed.dart\';
part \'api_response.g.dart\';
@Freezed(genericArgumentFactories: true)
class ApiResponse<T> with _$ApiResponse {
const factory ApiResponse<T>.data(T data) = ApiResponseData;
const factory ApiResponse<T>.error(String message) = ApiResponseError;
factory ApiResponse<T>.fromJson(Map<String, dynamic> json, T Function(Object?) fromJsonT) => _$ApiResponseFromJson(json, fromJsonT);
}
当我使用此命令构建时:
flutter pub run build_runner build --delete-conflicting-outputs
我收到以下错误:
[INFO] Running build...
[SEVERE] freezed:freezed on lib/models/api_response.dart:
This builder requires Dart inputs without syntax errors.
However, package:psf_provider/models/api_response.dart (or an existing part) contains the following errors.
api_response.dart:9:32: Functions must have an explicit list of parameters.
api_response.dart:9:3: Only redirecting factory constructors can be declared to be \'const\'.
api_response.dart:9:32: A function body must be provided.
And 13 more...
这是我的 pubspec.yaml 文件定义,用于显示我正在使用的版本:
environment:
sdk: \">=2.17.0 <3.0.0\"
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^1.0.2
flutter_hooks: ^0.18.0
hooks_riverpod: ^2.0.0-dev.9
dio: ^4.0.0
flutter_secure_storage: ^4.1.0
easy_localization: ^3.0.1
settings_ui: ^2.0.0
freezed_annotation: ^2.1.0
json_annotation: ^4.6.0
dev_dependencies:
flutter_test:
sdk: flutter
flutter_lints: ^1.0.0
build_runner: ^2.2.0
freezed: ^2.1.0+1
json_serializable: ^6.3.1
有任何想法吗?感谢您的关注!
标签: flutter dart generics freezed