inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Flutter 중급 3편 - 의존성 주입 가이드

go router 의존성

해결된 질문

309

김보겸

작성한 질문수 8

0

안녕하세요

강의 잘 보고 있습니다.

 

go router 와 dio 를 이용해서 프로젝트를 진행하고 있는데요,

dio 에서 interceptor 를 사용해 토큰을 보내고 응답코드에 따라 상태를 보내고 있습니다.

 

그러나 dio 를 통해 403 코드가 발생했을 시 이전 화면으로 보내거나 로그인 페이지로 보내하는 경우 부득이하게 dio에서 (interceptor) context 를 사용하게 됩니다. 이런 경우 view 에서 부터 view model 을 통해 remote 까지 context를 가져가야하는데 테스트를 어렵게하는 요인이라고 생각이 됩니다.

 

바람직하게 redirection 을 처리하려면 어떻게 해야 되는지 궁금합니다.

감사합니다.

flutter mvvm provider 클린-아키텍처 dependency

답변 1

0

오준석

Context 가 있는 View 까지 이벤트를 전달해야 할 것 같습니다.

에러처리가 어떻게 되고 있는지 잘 모르겠으나 ViewModel 에서 try - catch 를 통해 에러를 캐치해서 View쪽으로 콜백을 전달하거나, (일반 함수 콜백 또는 StreamController 등을 활용)

Data 레이어에서 Result 클래스 패턴을 통해서 에러를 담는 Result 객체를 받아서 결국 View 에 에러가 발생했음을 콜백으로 넘겨줘야 할 것 같습니다.

View 단에서 에러 Stream이 오면 화면 이동을 하면 될 것 같습니다.

비슷한 에러처리가 노트앱에 적용되었으니 힌트를 얻으시면 될 것 같습니다.

1

김보겸

해결되었습니다. 감사합니다.!!

vscode or 안드로이드 디바이스가 아닌 웹으로 실행했을때..

0

33

2

성능 분석 툴 공유

1

53

2

146 자료는 학습완료가 체크가 안돼요

0

39

1

'플러터 개발환경 세팅하기' 링크 클릭시, 악성 스크립트 설치 유도 페이지로 이동하니 조심하시길 바랍니다.

0

70

2

[강의 문의] '앱 출시하기' 강의 추가 일정 관련하여 문의드립니다.

0

42

1

안드로이드 기기 실행 오류

0

68

2

수강연장 가능할까요...

0

61

2

플러터 세팅 후 새폴더 생성건

0

60

2

강의에서 사용된 안드로이드 스튜디오 버전을 알고싶어요.

0

64

2

강의 자료는 어디있나요?

0

44

1

이미지 업로드해도 프로필에 x만 떠요

0

70

3

cursor ai가 업데이트 되서 ui가 바뀌었는데 반영은 안될까요?

0

82

2

마스크 json url이 안보여서 공유합니다

0

94

1

DI 에 대해 문의 좀 드립니다.

0

139

2

Bad state 에러

0

223

1

여러 화면 di강의는 언제 나올 예정인가요?

0

203

1

Riverpod 프로바이더에 의존성 주입

0

972

1

remote data source impl

0

293

1

객체가 아닌 일반 변수의 get it

0

298

1

뷰 모델 분리하기

0

362

1

네트워크 통신 에러 처리

0

351

1

데이터 추상화 문제

0

354

2

로그인(auth)관련 데이터 흐름

0

277

1

소스코드 공유

0

452

1