투표와 설문 데이터 통합 구조 정의
Closed this issue · 2 comments
Hongji0611 commented
홈과 커뮤니티, 검색 화면에서 투표와 설문이 섞인 리스트가 보여지게 되는데, 투표와 설문의 Dto가 달라 이를 하나의 API로 결과를 반환해 보여지는 것에 어려움이 있었습니다. 이를 해결하기 위한 방안은 다음의 2가지가 존재합니다.
-
UI를 투표와 설문을 구분하는 형식으로 변경
투표와 설문을 구분하는 토글과 참여 여부를 확인하는 토글 2가지가 존재할 경우, 사용자에게 혼동을 줄 수 있습니다.
-
투표와 설문의 공통 DTO를 새롭게 생성
화면에 보여지는 투표와 설문의 공통 값 DTO를 새로 생성하고, 상세 화면으로 이동할 때 투표 혹은 설문의 특성에 따라 보여주는 양식을 변경합니다.
(23.08.16 내용 수정- Entity와 DTO 개념)
Hongji0611 commented
0JIEUN0 commented
두 Entity 를 통합하는 것이 아닌, 두 Entity 를 통합해서 보여줄 수 있는 DTO 인 OverallDetailDto
을 사용하는 것으로 결정한 것입니다!
즉, 작성해주신 2, 3번째 방법과 최종적으로 결정한 방법은 다음과 같을 것입니다.
- 리스트에서는 투표/설문을 같이 보여주고, 클릭하면 세부 정보를 서버에서 받아오기 (VoteDetailDto, SurveyDetailDto)
- 투표와 설문 Entity 를 통합: 부가적인 작업이 필요하고, 엄밀히 말하면 두 entity 는 특성이 다르기 때문에 android 에서의 view 를 위해 이걸 통합하는 것은 불필요하다고 판단
- 투표와 설문을 함께 표현할 수 있는 DTO 정의하고 사용: 홈 화면 등에서 두 정보를 함께 받아와서 표현할 수 있음
Android 는 한 DTO 로 처리할 수 있어서 코드가 간단해지고, 서버는 간단한 작업만 추가하면 됨
마지막 방법이 해당 시점에서 가장 적합하고 작업 오버헤드가 작을 것으로 판단해서 채택했습니다.
(아마 작성하신 부분도 이와 의도는 비슷하겠지만 Entity 와 DTO 는 달라서 개념적으로 혼동이 올 수 있다고 생각해서 추가적으로 이 내용을 작성해둡니다.)