-
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
Api: ✨ 사용자 정의 카테고리 이동 API #125
Conversation
일단 고민하고 계신 url 부분에 대해서만 의견 공유해볼게요! 그리고 spending에 포커싱을 할 지, spending-category에 포커싱을 할 지에 따라 url이 좀 바뀔 거 같은데, 저라면 다음과 같은 url을 써봤을 거 같긴 한데,
네이밍이 좀 구리긴 한데..여튼 어떻게 생각하시나요?? |
엥, 코드에는
저도 이 부분은 "소비내역을 옮긴다" VS "카테고리에 존재하는 소비내역을 옮긴다" 둘중에 어떤 행위로 해석해야할지 고민하다가
저는 |
생각해보니 Query param은 주로 GET, DELETE 요청에서만 사용하긴 하네요. 잊고 있었습니다. ㅎㅎ
카테고리 삭제는 커스텀 카테고리만 가능한 게 맞습니다. 커스텀 카테고리에 등록된 소비 내역 리스트가 기본 카테고리로 옮겨질 수 있어야 합니다! |
엇, 지금 살짝 오해가 있으신 것 같은데, 제가 말한건 from 카테고리가 기본 카테고리인 경우를 배제 하였다는 뜻이었어요.
혹시 제가 핀트를 못잡은걸까요...?? 진짜 순수하게 헷갈려서요ㅋㅋㅋㅋ😱 |
앗, 맞네요 ㅎ. 지금 당장 해당 기능이 없으니 버려도 되긴 하지만, 혹시 그닥 어렵지 않다고 판단된다면 구현 부탁드리고 나중에 필요할 때 수정해도 되니까요! |
…at/PW-410-migrate-category
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.
테케 보니 될 거 같긴 한데, 이야기해보고 싶은 게 있어서 일단 커멘트로 남깁니다~~
...external-api/src/main/java/kr/co/pennyway/api/apis/ledger/service/SpendingUpdateService.java
Outdated
Show resolved
Hide resolved
...way-domain/src/main/java/kr/co/pennyway/domain/domains/spending/service/SpendingService.java
Outdated
Show resolved
Hide resolved
...domain/src/main/java/kr/co/pennyway/domain/domains/spending/exception/SpendingErrorCode.java
Outdated
Show resolved
Hide resolved
...way-app-external-api/src/main/java/kr/co/pennyway/api/common/query/SpendingCategoryType.java
Outdated
Show resolved
Hide resolved
...main/src/main/java/kr/co/pennyway/domain/domains/spending/repository/SpendingRepository.java
Outdated
Show resolved
Hide resolved
...rc/test/java/kr/co/pennyway/api/apis/ledger/integration/SpendingCategoryIntegrationTest.java
Outdated
Show resolved
Hide resolved
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.
일단 승인해두겠습니다.
커멘트 마지막 답변 한 번만 더 부탁드릴게여
작업 이유
작업 사항
API Spec
PATCH /v2/spending-categories/{fromCategoryId}/migration?from-?type=&to-id=&to-type=
결과 응답
핵심 로직
간략하게 핵심 로직만 설명하겠습니다.
~~ 기본 카테고리를 삭제해 소비내역을 이동시키는 경우는 없기에, 크게 두가지 경우가 존재합니다. ~~
기본 카테고리를 삭제하는 행위는 불가능하나, 추후 기본 카테고리 -> ?? 로 소비내역을 이동하는 기능도 생길 것을 고려해 본 API는 총 4가지 행위를 포함합니다.
리뷰어가 중점적으로 확인해야 하는 부분
하나의 요청이 총 4가지의 데이터 액세스 요청으로 분기되어 서비스 코드가 꽤나 지저분 해졌습니다,
읽기 복잡하실 것 같아 설명해드리면 코드의
if-else
문 순서와 위에서 언급한 4가지 행위의 순서가 동일합니다.url path 관련migrations 라는 용어 자체가 명사형태이긴 하지만 행위를 나타내는 듯 하여 path에 포함시켜야 할지 고민이었습니다. 어떻게 생각하시나요??
RequestBody, PathVariable 관련해당 동작을 수행하기 위해서 필요한 정보들은 아래와 같습니다.
삭제하고자 하는 카테고리의 ID (fromCategoryId)
,이전하고자 하는 카테고리의 ID (toCategoryId)
,카테고리의 종류 (SpendingCategoryType)
여기서
fromCategory
는 현재 수정하고자 하는 자원을 뜻하므로, PathVariable로 전달받고, 나머지 정보들은 ReqeustBody로 전달받고 있습니다. 다만 이 방식이 IOS팀이 추후 작업 시 혼동이 올 우려가 있어보여 모두다 RequestBody에 넣을까 고민중입니다.발견한 이슈
X