[꼼꼼한 개발자] 꼼코더

48. [개발일지] - [피파 온라인 4 프로젝트] - 13. 유저의 매치 기록 조회 기능 (2) (엄청난 DTO의 양, 서비스 코드, 테스트 코드, 느낀점) 본문

개발일지/피파 온라인 4 프로젝트

48. [개발일지] - [피파 온라인 4 프로젝트] - 13. 유저의 매치 기록 조회 기능 (2) (엄청난 DTO의 양, 서비스 코드, 테스트 코드, 느낀점)

꼼코더 2023. 5. 27. 21:46
반응형

🐶 이전 기능

이전에 '유저의 매치 기록' 기능 결과는 '매치 ID'가 리스트업 됐었다.

그럼 이제 '매치 ID'가 무엇을 의미하는지 알아보자

 


 

🕵🏻‍♀️ 공식 문서 확인

'매치 ID'를 가지고 아래 URL로 요청하면 '매치 상세 정보'를 조회할 수 있다고 확인된다.

https://api.nexon.co.kr/fifaonline4/v1.0/matches/{matchid} 

 

그럼 '매치 ID' 1개로 테스트 후 결과를 확인해 보자.

 

 

..?? 보이는가?? 상세정보.. 일부만 봤음에도 정말 엄청난 양의 데이터 종류이다..(정말로 상세하다..넥슨 👏🏻)

따라서 나는 "너무 막막하다.."라는 생각을 5초 동안 하다 정신차리고 바로 스크롤을 내려봤다.

 

DTO..?? 그렇다 이렇게 넥슨에서 친절하게  총 '9 가지'의 DTO를 활용하라고 안내해 주었다..^^

 

자 그럼 이제 뭘 해야할까!?

이제는 슬슬 빠르게 감이 잡힌다..! 머릿속에 흐름 구조가 잘 그려진다! (정말 신난다)

DTO 만들기 -> 서비스 코드 -> 테스트 코드 -> 컨트롤러 코드 -> 출력 코드 순으로 개발해보도록 해보자! 

 

 


 

🧑🏻‍💻 DTO 클래스 작성

너무 많아지 DTO의 개수로 인하여 폴더를 구조화하여 분리했다.

대표적으로 2가지의 DTO 사진을 넣어봤다.
'위 응답 데이터'를 보면 배열 속 많은 DTO의 계층구조가 있어 헷갈리지 않게 코드 상단에 주석처리를 잘해보았다.

 

 

🧑🏻‍💻 서비스 코드 작성

닉네임으로 유저 고유 식별자 조회 -> 고유 식별자로 매치 ID조회(여기까지 개발) -> 매치 ID로 매치 상세기록 조회 순이기 때문에

상세기록 조회 기능개발을 마쳤다. 

 

🧑🏻‍💻 테스트 코드

이제 익숙하게 서비스 코드 작성으로 넘어가게 됐다. 😄

결과도 이상 없이 잘 확인된다!

 

자 이제 저 많은 데이터를 가져오긴 했는데.. 이제 어떻게 하지.??

 

 

 

🧹 느낀 점

  • DTO 클래스가 너무 많아서 솔직히 '이번 기능은 그냥 넘어갈까' 했지만 '포기하고 도망가기 싫어' 끝까지 붙잡고 했었다. 너무 뿌듯하다.
  • DTO 클래스별로 설명 주석을 작성하는데 은근 시간이 많이 걸렸다. 하지만 '추후 재확인에 더 많은 시간이 걸릴 바엔 지금 고생하자'라는 마인드로 작성했다. (역시 뿌듯했다.)
  • 테스트 코드 작성으로 정말 자연스럽게 넘어가게 되었다. 예전에는 테스트 코드하면 겁부터 냈는데 이번 프로젝트를 통해 정말 많은 좋은 습관을 얻는 거 갖다.
  • 얼른 남은 블로그 정리 후 다음 거 개발하러 가고 싶다

 

 

 

 

 

 

 

 

Comments