-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[iOS] 여정 목록 비즈니스 로직 #125
Merged
SwiftyJunnos
merged 60 commits into
iOS/epic/JourneyListScene
from
iOS/task/JourneyList-Business-Logic
Nov 30, 2023
Merged
[iOS] 여정 목록 비즈니스 로직 #125
SwiftyJunnos
merged 60 commits into
iOS/epic/JourneyListScene
from
iOS/task/JourneyList-Business-Logic
Nov 30, 2023
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Conflicts: # iOS/MusicSpot/MusicSpot.xcodeproj/project.pbxproj
…siness-Logic # Conflicts: # iOS/Features/JourneyList/Package.swift
PushedGun
approved these changes
Nov 30, 2023
|
||
extension JourneyRouter { | ||
|
||
public var body: HTTPBody? { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
HTTPBody에 contents를 넣어야하는 경우를 생각하면 메소드로 만들어서, 보낼 contents를 함께 주는 것도 좋지 않을까요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
밑에 switch
문으로 분기 처리해서 넣어주려고 했습니다..!
yoondj98
approved these changes
Nov 30, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
❗ 배경
close #124
close #106
🔧 작업 내역
🧪 테스트 방법
JourneyListDemo 앱 실행
MSCacheStorageTests 유닛 테스트
📝 리뷰 노트
MSData
Data 레이어를 위한 MSData 패키지를 추가했습니다.
구조는 현재 위와 같이 되어 있습니다.
서버와 로컬 스토리지의 값을 불러오기 위한 DTO 구조체들과
마찬가지로 외부 스토리지의 값들을 불러오는 로직에 대한 책임을 갖는 Repository 클래스들이 주요 파일입니다.
그 외에도 API 정보를 담는 secret 파일인 APIInfo.plist 파일과 Mock 데이터들이 Resource 디렉토리 내부에 있습니다.
| 현재는 secret 처리가 되어있지 않습니다. 이후에 실제 서버 주소가 들어가면 gitignore에 추가해줘야 합니다.
Router에는 네트워킹을 위한
URLRequest
인스턴스를 생성하는MSNetworking
의Router
프로토콜을 채택하는 클래스들이 포함되어 있습니다.MSNetworking
MSNetworking을 실제로 사용하면서 개선할만한 부분들을 조금 고쳐봤습니다.
전체 API 정보를 담는 MSRouter 대신 각 Repository에 필요한 API를 분리해서 관리하기 위해
MSRouter
는 삭제하고MSData
의JourneyRouter
처럼 Data 레이어에서 정의하도록 변경했습니다.MSNetworkError의 네이밍을 수정하고 추가적으로 필요한 에러를 추가했습니다.
또한
Equatable
프로토콜을 채택시켜서 에러 간 비교가 가능하도록 했습니다.MSNetworking 구조체의
request
에timeout
파라미터를 추가했습니다.dataTaskPublisher의 오퍼레이터를 활용했습니다.
추가적으로
decode
로직도 기본 오퍼레이터를 사용하는 것으로 수정해 가독성을 높였습니다.7898+
하하하하 세상에
다른 머지되지 않은 작업들을 떙겨와서 작업했더니 PR이 왕 거대해졌습니다.
다른 브랜치들부터 정리하고 리뷰 남겨주세요 ㅎㅎ;
📸 스크린샷