Skip to content
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

[REFACTOR] 북마크 네트워크 레이어 분리(#129) #130

Merged
merged 5 commits into from
Sep 23, 2023

Conversation

cchanmi
Copy link
Member

@cchanmi cchanmi commented Sep 22, 2023

[#100] FEAT : 로그인 구현

🌱 작업한 내용

  • 북마크 네트워크 레이어 분리했어요.
  • 현재 북마크를 보여 주는 뷰에서는 북마크 데이터를 가져오는 get, 북마크 상태값을 보내는 post API를 호출하고, 동뷰 성뷰에서는 북마크 상태값을 보내는 post API만 호출하기 때문에 protocol을 크게 두 개로 나누었어요.
protocol BookmarkInOutServiceProtocol {
    func postBookmark(model: BookmarkRequest) async throws
    func getBookmark() async throws -> BookmarkAppData
}

// 동뷰, 성뷰
protocol BookmarkOutProtocol {
    func postBookmark(model: BookmarkRequest) async throws
}

처음에는 이름만 다른 프로토콜이 여러 개가 생성되는 것 같아서 이런 식으로 분리를 했는데, 의존성 주입을 하다 보니 네이밍이 자연스럽지 않다는 생각이 들었어요.

let ArticleListByCategoryVC = ArticleListByCategoryViewController(serviceProcotol: BookmarkService(bookmarkAPIProtocol: BookmarkAPI(apiService: APIService())))

아티클 VC에 bookmarkservice, bookmark api 객체를 주입하는 게 어색할 수 있다는 생각이 들었어요.
그런데 현재 특정 뷰에서만 리팩토링이 진행되었기 때문에, 각각의 VC별로 프로토콜을 생성하면 해결될 것 같다는 결론이 나왔습니다.

🌱 PR Point

  • 현재 북마크 post API 호출시 decode error를 던집니다. API 자체에는 문제가 없는데, 뷰컨을 다시 초기화하지 않으면 UI가 변경되지 않는 이슈가 있습니다. 리팩하는 과정에서 response 형식이 틀렸나 확인해 보고 싶었는데 현재 스웨거가 동작하지 않아서 일단 해결하지 못하고 PR 올렸습니다. 참고해 주세요.

📮 관련 이슈

@cchanmi cchanmi added the 🦁찬미 찬미's label Sep 22, 2023
@cchanmi cchanmi self-assigned this Sep 22, 2023
@kimscastle kimscastle merged commit 65fb2d8 into main Sep 23, 2023
@kimscastle kimscastle added this to the 🦁1차 Refactor🦁 milestone Oct 10, 2023
@kimscastle kimscastle added ♻️Refactoring 리펙터링 🌐Network 네트워크 관련 작업 labels Oct 10, 2023
@kimscastle kimscastle deleted the refactor/129-bookmark branch October 10, 2023 05:41
@kimscastle kimscastle changed the title [Refactor] #129 - 북마크 네트워크 레이어 분리 [REFACTOR] 북마크 네트워크 레이어 분리 Oct 10, 2023
@kimscastle kimscastle changed the title [REFACTOR] 북마크 네트워크 레이어 분리 [REFACTOR] 북마크 네트워크 레이어 분리(#129) Oct 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🌐Network 네트워크 관련 작업 ♻️Refactoring 리펙터링 🦁찬미 찬미's
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[REFACTOR] bookmark network layer 분리
2 participants