작성
·
51
0
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? <- 물음표가 필요한 위치가 있는 것 같은데 에러 메세지에 정확한 위치가 포함 돼 있을 것 같습니다!
확인 부탁드립니다!
감사합니다!