Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🔥 연관 이슈
📝 작업 요약
CallAdapter 적용
🔎 작업 상세 설명
주요 클래스는 EdonymyeonCall 과 ApiResponseMapper입니다
EdonymyeonCall에서 Retrofit interface의 리턴타입을 커스텀합니다.
sealed class인 ApiResponse 타입으로 리턴하며 구조는 아래와 같습니다.
위 값을 Repository까지 가지고 옵니다. 그리고 ApiResponseMapper를 통해서 Result로 변환합니다.
위 코드에서 Success에 대한 처리만 유심히 보시면 됩니다.
고려한 경우의 수가 3가지 있는데,
해결 과정은 아래와 같습니다.
에러처리 적용시킨 것 최종 푸쉬 해놓았는데, 아래 두가지 문제가 아직 있습니다
authRepository가 모든 ViewModel에서 들고 있는 문제 -> 필요한 ViewModel에서 가지고 있다가 분기처리
에러 분기처리가 중복되는 문제 -> BaseViewModel에 UiState를 두어서 해결할 수 있을 것 같습니다
이는 따로 이슈파서 추후 진행하도록 하겠습니다
🌟 리뷰 요구 사항