restaurant_provider 부분에서 에러가 발생합니다.
103
작성한 질문수 7
final resp = await repository.paginate(
paginationParams: paginationParams,
);해당 부분에서
The argument type 'PaginationParams' can't be assigned to the parameter type 'PaginationParams? 가 발생하는데요 타입이 불일치 하다는 것 같은데
제가 repository의 paginate 코드랑 pagination_params 코드도 다시 확인해 보고 강사님 깃에 올라온 코드랑 비교도 해봤는데 왜 에러가 발생하는지 모르겠네요
paginationParams: paginationParams!,
paginationParams: paginationParams ?? const PaginationParams(),
이런식으로 바꿔봐도 똑같습니다.
아래는 제 repository 및 pagination_params 코드입니다.
import 'package:basic_ui/common/dio/dio.dart';
import 'package:basic_ui/common/model/pagination_params.dart';
import 'package:basic_ui/common/model/cursor_pagination_model.dart';
import 'package:basic_ui/restaurant/model/restaurant_detail_model.dart';
import 'package:basic_ui/restaurant/model/restaurant_model.dart';
import 'package:dio/dio.dart' hide Headers;
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:retrofit/http.dart';
import '../../common/const/data.dart';
part 'restaurant_repository.g.dart';
final restaurantRepositoryProvider = Provider<RestaurantRepository>(
(ref) {
final dio = ref.watch(dioProvider);
final repository =
RestaurantRepository(dio, baseUrl: 'http://$ip/restaurant');
return repository;
},
);
@RestApi()
abstract class RestaurantRepository {
factory RestaurantRepository(Dio dio, {String baseUrl}) =
_RestaurantRepository;
@GET('/')
@Headers({
'accessToken': 'true',
})
Future<CursorPagination<RestaurantModel>> paginate({
@Queries() PaginationParams? paginationParams = const PaginationParams(),
});
@GET('/{id}')
@Headers({
'accessToken': 'true',
})
Future<RestaurantDetailModel> getRestaurantDetail({
@Path() required String id,
});
}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);
}
답변 1
0
안녕하세요!
에러 메세지를 봤을때는 nullable이 아닌 타입이 nullable인 위치에 들어가서 그런 것 같아요!
PaginationParams? <- 물음표가 필요한 위치가 있는 것 같은데 에러 메세지에 정확한 위치가 포함 돼 있을 것 같습니다!
확인 부탁드립니다!
감사합니다!
Isar 마지막 업데이트는 2년전입니다.
0
30
0
FlutterSecureStorage 질문
0
31
0
Dio onError Interceptor 만드는 부분에 질문이 있습니다.
0
79
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
139
2
Asset folder??
0
82
2
디자이너와 협업 시 프레임 크기 설정 관련 질문
0
113
2
FutureProvider, StateNotifierProvider 선택 기준
0
70
2
컴포넌트 모델화
0
64
2
쿼리 파라미터
0
84
2
화면 안보임
0
67
2
PaginationListView
0
54
1
강의중 37.Dio onErrorInterceptor 작업하기 dio 관련 질문입니다.
0
101
2
프로토타입이미지
0
62
2
여러 객체를 상태 관리하는 방법에 대한 질문
0
84
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





