inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!

Pagination Params 추가하기

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

354

hj_choi

작성한 질문수 1

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

답변 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);
}

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

감사합니다!

Isar 마지막 업데이트는 2년전입니다.

0

31

0

FlutterSecureStorage 질문

0

32

0

Dio onError Interceptor 만드는 부분에 질문이 있습니다.

0

80

2

관리자 기능에 대한 질문

0

100

2

part 'restaurant_model.g.dart';

0

92

1

36강. dio 인터셉터에 storage를 전달하는 코드가 이해 안되는데요. 도움 부탁드립니다.

0

56

2

2번 반환 상황 관련 질문

0

61

2

riverpod 3.0

0

140

2

Asset folder??

0

82

2

디자이너와 협업 시 프레임 크기 설정 관련 질문

0

114

2

FutureProvider, StateNotifierProvider 선택 기준

0

70

2

컴포넌트 모델화

0

64

2

쿼리 파라미터

0

84

2

화면 안보임

0

68

2

PaginationListView

0

54

1

강의중 37.Dio onErrorInterceptor 작업하기 dio 관련 질문입니다.

0

103

2

프로토타입이미지

0

62

2

여러 객체를 상태 관리하는 방법에 대한 질문

0

85

2

장바구니 결제하기 응답이 500이 옵니다.

0

105

2

removeFromBasket에서 await patchBasket()을 마지막에 하면 에러나는거 아닌가요?

0

67

2

이 두가지는 완전히 동일한 기능인가요?

0

106

3

내부 코드를 작성하지 않은 CursorPaginationLoading가 어떻게 로딩상태를 갖는지 잘 모르겠습니다...

0

77

2

_SplashScreenState에서 storage를 late로 호출해서 한번만 불러와도 되나요?

0

86

2

코딩 작성 순서 관련 질문

0

88

2