Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 改装颤振不会生成模型转换方法_Flutter_Retrofit - Fatal编程技术网

Flutter 改装颤振不会生成模型转换方法

Flutter 改装颤振不会生成模型转换方法,flutter,retrofit,Flutter,Retrofit,我直接遵循这一官方说法,它显然没有生成\u$TaskFromJson和\u$TaskToJson方法 我把它放在“task.dart”文件中,并修改了part,如下所示 任务。飞镖 import 'package:json_annotation/json_annotation.dart'; import 'package:retrofit/retrofit.dart'; import 'package:dio/dio.dart'; part 'task.g.dart'; @RestApi(b

我直接遵循这一官方说法,它显然没有生成
\u$TaskFromJson
\u$TaskToJson
方法

我把它放在“task.dart”文件中,并修改了
part
,如下所示

任务。飞镖

import 'package:json_annotation/json_annotation.dart';
import 'package:retrofit/retrofit.dart';
import 'package:dio/dio.dart';

part 'task.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 {
  String id;
  String name;
  String avatar;
  String createdAt;

  Task(this.id, this.name, this.avatar, this.createdAt);

  factory Task.fromJson(Map<String, dynamic> json) => _$TaskFromJson(json);
  Map<String, dynamic> toJson() => _$TaskToJson(this);
}
// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'task.dart';

// **************************************************************************
// RetrofitGenerator
// **************************************************************************

class _RestClient implements RestClient {
  _RestClient(this._dio, {this.baseUrl}) {
    ArgumentError.checkNotNull(_dio, '_dio');
    this.baseUrl ??= 'https://5d42a6e2bc64f90014a56ca0.mockapi.io/api/v1/';
  }

  final Dio _dio;

  String baseUrl;

  @override
  getTasks() async {
    const _extra = <String, dynamic>{};
    final queryParameters = <String, dynamic>{};
    final _data = <String, dynamic>{};
    final Response<List<dynamic>> _result = await _dio.request('/tasks',
        queryParameters: queryParameters,
        options: RequestOptions(
            method: 'GET',
            headers: <String, dynamic>{},
            extra: _extra,
            baseUrl: baseUrl),
        data: _data);
    var value = _result.data
        .map((dynamic i) => Task.fromJson(i as Map<String, dynamic>))
        .toList();
    return Future.value(value);
  }
}

我已经读过了,但没有帮助我,因为这个问题所说的是根本无法生成,但我的问题是使用缺失的JsonSerialized方法生成。另外,答案建议使用大写的User文件名,这肯定不起作用。

负责生成这些方法。只需将其导入您的pubspec
dev\u dependencies
部分,运行
flatter pub get
flatter pub run build\u runner build
依赖项: 颤振: sdk:颤振 cupertino_图标:^1.0.2 记录器:有吗 改装:有吗 json_注释:任何

开发依赖项: 颤振试验: sdk:颤振 有吗 改装发电机:有吗 json_可序列化:任何

使用此版本的所有改装相关软件包 它肯定会奏效