강의

멘토링

커뮤니티

Inflearn Community Q&A

hjchoi3674's profile image
hjchoi3674

asked

[Code Factory] [Intermediate] Flutter Real Practice! State Management, Cache Management, Code Generation, GoRouter, Authentication Logic, etc. Essential Skills to Become an Intermediate!

Add Pagination Params

restaurant_repository.g.dart 에러가 발생했어요

Written on

·

343

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;
}
flutter하이브리드-앱

Answer 2

0

hjchoi3674님의 프로필 이미지
hjchoi3674
Questioner

아.. 말씀 듣고 다음 강의 들어보니 다음 강의에서 바로 해결해 주셨네요.

이번 강의에는 에러표시가 없었는데 다음 강의에는 있는 것보니 약간에 편집 차이 같습니다.

 

감사합니다!!!

0

codefactory님의 프로필 이미지
codefactory
Instructor

안녕하세요!

제 코드상에서는 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);
}

중간에 강의를 놓치신 것 같네요!

감사합니다!

hjchoi3674's profile image
hjchoi3674

asked

Ask a question