Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

다재다능 개발자 성장기 🚀

Flutter 클린 아키텍처로 영화 앱 만들기 회고(feat. 트러블 슈팅) 본문

Flutter

Flutter 클린 아키텍처로 영화 앱 만들기 회고(feat. 트러블 슈팅)

merrytang 2025. 1. 2. 03:08

프로젝트 미리보기

 

 

개인적인 감상 및 회고

이번 과제는 클린 아키텍처 구조로 영화 정보를 themoviedb라는 사이트에서 제공하는 오픈 api에서 불러와서 영화 정보 앱을 만들어보는 과제였다. 저번 과제에서 이제 좀 MVVM 패턴에 익숙해지나 했는데, 그 다음 바로 더 세부적으로 나뉘는 클린 아키텍처 구조로 만들다 보니 어려웠다.. 😣  그래도 개인 프로젝트를 진행하면서 약간 감을 잡게 되었다. 이번 주부터 시작하는 팀프로젝트를 진행하게 되면 좀 더 적응이 될 것 같다. 화이팅 !! ><

 

깃허브 README

 

https://github.com/hyewonShin/flutter-movie-app

 

 

트러블 슈팅

문제

API를 통해 데이터를 가져오는 과정에서, 일부 변수 값이 Thunder Client에서는 정상적으로 확인되지만, 코드 실행 중 특정 단계에서 null로 변경되는 문제 발생.

 

원인 추론 

  1. API 호출 결과를 출력해보니 모든 값들이 정상적으로 들어있었음.
  2. API에서 반환된 JSON 데이터의 key 값은 poster_path 형식인데, fromJson 메서드에서 매핑하려는 key 값은 posterPath 형식으로 되어 있었음. 이 불일치로 인해, 특정 key에 매핑된 값들이 null로 처리된 것을 확인.
  3. DTO에서 Entity로 변환하는 과정에서도 동일한 문제:
    1. DTO 데이터를 Entity 형식으로 변환하는 과정에서, toJson 메서드로 DTO 데이터를 Map으로 변환 후
      fromDTO 생성자를 통해 Entity로 변환.
    2. 그런데, toJson 메서드가 반환하는 key 값의 형식이, API에서 제공하는 데이터의 key 형식과 다르다는 것을 확인. 이로 인해 매핑 불일치로 데이터가 다시 null로 변경되는 것을 확인.

해결방안

fromJson 메서드 수정:

  • fromJson 메서드의 value 형식을 API에서 제공하는 key 형식과 동일하게 수정.

toJson 메서드 수정:

  • toJson 메서드의 key 형식을 API에서 제공하는 key 형식과 동일하게 수정.

 

+ 2025.01.03 다른 해결방안 ? 

 

DTO 타입의 데이터를 Entity 타입으로 매핑해줄 때, fromJson 메서드가 아닌 Entity 클래스의 초기값으로 매핑해주면 따로 키 값 형식을 맞추지 않아도 된 다는 것을 알았다. 아직 클린아키텍처에 미숙하여 생긴 트러블 슈팅이었다(머쓱;). 앞으로는 실수하지 말자~!