인프런 커뮤니티 질문&답변

김의성님의 프로필 이미지
김의성

작성한 질문수

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

데이터가 구조가 List<dynamic> 형식일때 질문 드려 봅니다.

작성

·

212

0

[

{

"no": 1,

"write_date": "2015-03-25 13:28:15",

"content": "쇼핑몰 공지사항\r\n 활용한 게시판입니다."

},

{

"no": 2,

"write_date": "2015-03-25 13:28:40",

"content": "쇼핑몰 오픈이벤트!\r\n쇼핑몰 오픈이벤트로 최대 30% 까지 할인된 가격으로 만나보세요."

},

]

안녕하세요.

데이터가 강의처럼 meta와 data로 나뉘고 그안에 List로 들어오는게 아니고 위에처럼 그냥 List로 들어온다면

 

1.

Future<CursorPagination<RestaurantModel>> paginate();

이렇게 사용 못하는건가요?

된다면

class CursorPagination<T> extends CursorPaginationBase {

여기를 어떻게 해야 할지 모르겠습니다.

}

 

2.

Future<List<RestaurantModel>> paginate(); 이렇게 사용해야 한다면

abstract class CursorPaginationBase {} 이거는 어떻게 사용해야 할까요?

 

3.

Error: type 'List<dynamic>' is not a subtype of type 'Map<String, dynamic>?' in type cast 이렇게 에러가 뜨는데

CursorPagination<T> 이런 구조로 한다는거 자체가 말이 안되는건가요?

Future<List<RestaurantModel>> 이런 형식으로 해야 한다면 RestaurantModel을 T로 받으면서 할 수 없는건가요?

CursorPaginationBase 이거는 RestaurantModel을 class RestaurantModel extends CursorPaginationBase이런식으로 사용해야 할까요?

답변 1

0

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요!

에러 메세지는 List<dynamic>이 Map<String, dynamic>이 아니라는 뜻입니다.

제너릭과 관계없이 애초에 코드에서 List타입과 Map 타입을 헷갈리신 것 같습니다.

아마 정확한 에러 위치가 나올텐데 그 위치의 데이터가 List 타입이라고 지정해두셨지만 실제론 Map일거라고 보여집니다.

감사합니다!

김의성님의 프로필 이미지
김의성

작성한 질문수

질문하기