[ 사용자 ]
|
(1) 검색어 입력 ("플러터")
|
v
[ HomePage (UI) ] ---- (2) 검색해줘! ----> [ HomeViewModel (관리자) ]
|
(3) 데이터 좀 가져와!
|
v
[ BookRepository (공장) ]
|
<------- (5) "JSON 문자열" 응답 -------- (4) API 요청 (GET)
[ 네이버 서버 ] |
|
(6) 가공 단계 (중요!)
- jsonDecode (해체)
- Book.fromJson (조립)
|
<------- (7) List<Book> 반환 ------------------+
|
v
[ HomeViewModel ]
|
(8) state = HomeState(books) <--- "창고에 새 상품 채움!"
|
(9) 알림 (Riverpod) ----------------------> [ HomePage ]
|
(10) 화면 다시 그리기!
(Image.network 출력)