인프런 커뮤니티 질문&답변
restaurant_repository.g.dart 에러가 발생했어요
작성
·
334
0
이번 강의를 다 듣고 코드를 수정하였습니다만
아래 restaurant_repository.g.dart 파일에 pagiante함수에서 queryParameters.addAll(paginationParams?.toJson() ?? <String, dynamic>{});
이부분에 toJson이 에러가 납니다. 에러 내용은 paginationParams에 toJson 함수가 없어서 입니다.
해당 강의에서 강사님 코드에서 toJson을 구현하지 않았는데 어떤 부분을 제가 놓친 것인지 모르겠습니다,
@override
Future<CursorPagination<RestaurantModel>> paginate(
    {paginationParams = const PaginationParams()}) async {
  const _extra = <String, dynamic>{};
  final queryParameters = <String, dynamic>{};
  queryParameters.addAll(paginationParams?.toJson() ?? <String, dynamic>{});
  queryParameters.removeWhere((k, v) => v == null);
  final _headers = <String, dynamic>{r'accessToken': 'true'};
  _headers.removeWhere((k, v) => v == null);
  final Map<String, dynamic>? _data = null;
  final _result = await _dio.fetch<Map<String, dynamic>>(
      _setStreamType<CursorPagination<RestaurantModel>>(Options(
    method: 'GET',
    headers: _headers,
    extra: _extra,
  )
          .compose(
            _dio.options,
            '/',
            queryParameters: queryParameters,
            data: _data,
          )
          .copyWith(baseUrl: baseUrl ?? _dio.options.baseUrl)));
  final value = CursorPagination<RestaurantModel>.fromJson(
    _result.data!,
    (json) => RestaurantModel.fromJson(json as Map<String, dynamic>),
  );
  return value;
}답변 2
0

hj_choi
질문자
아.. 말씀 듣고 다음 강의 들어보니 다음 강의에서 바로 해결해 주셨네요.
이번 강의에는 에러표시가 없었는데 다음 강의에는 있는 것보니 약간에 편집 차이 같습니다.
감사합니다!!!
0
코드팩토리
지식공유자
안녕하세요!
제 코드상에서는 PaginationParams의 toJson이 잘 구현 돼있습니다.
import 'package:json_annotation/json_annotation.dart';
part 'pagination_params.g.dart';
@JsonSerializable()
class PaginationParams {
  final String? after;
  final int? count;
  const PaginationParams({
    this.after,
    this.count,
  });
  PaginationParams copyWith({
    String? after,
    int? count,
  }) {
    return PaginationParams(
      after: after ?? this.after,
      count: count ?? this.count,
    );
  }
  factory PaginationParams.fromJson(Map<String, dynamic> json) =>
      _$PaginationParamsFromJson(json);
  Map<String, dynamic> toJson() => _$PaginationParamsToJson(this);
}중간에 강의를 놓치신 것 같네요!
감사합니다!






