뉴스피드 만들기 (팀프로젝트) v6 마무리: Refactoring, Path Variable과 Query Parameter

김재현·2023년 11월 27일
0

TIL

목록 보기
42/88
post-thumbnail

길다면 길고 짧다면 짧은 팀프로젝트가 끝났다.
부족한 팀장을 적극적으로 따라준 팀원분들께 감사하다.
좋은 팀을 만나 함께 최선을 다했고, 그만큼 얻어가는 것이 많은 시간이었다.
뿐만 아니라 기획했던 것 이상의 결과물을 낼 수 있었다.
앞으로의 시간 또한 기대된다.


발표회

결과물을 제출하고 모든 조가 결과물과 그 과정에 대한 발표를 진행했다.
그 과정에서 메모 해 둔 것을 정리한다.
(KPT 회고에 들어간 내용은 뺐다.)

잘 되는 환경에서 영상을 찍어오거나, PostMan을 적극 활용하자!

다른 조에서 시연을 보일 때, 프로그램이 갑자기 작동하지 않았다.
환경에 따라 작동 여부가 달라 질 수도 있는 것이다.
만약 이게 실무였다면 회의 분위기가 암울해졌겠지...

패키지 리팩토링 -엔터티에 따라

우리 조는 패키지를 Controller, Service, Repository 등 기능에 따라 나눴다.
하지만 프로젝트의 규모가 커질 수록 해당하는 엔터티의 개수가 엄청나게 증가하기 때문에 이런 식으로 나눌 경우 알아보기 힘들다는 단점이 있다는걸 알았다.
따라서 아래와 같이 엔터티별로 묶어서 리팩토링을 진행해야함을 알고 적용했다.

Path Variable과 Query Parameter

Query Parameter 보단 Json형태로 데이터를 전달하는 Path Variable을 많이 쓰는 추세라는 글을 읽었던 기억이 있다. 또한 사용하기 편리하기하기 때문에 이번 프로젝트에서는 Path Variable만 사용하였다.
그 예로 /api/posts/mypost 로 로그인 한 사용자의 게시글 조회하는 API가 있었다. 하지만 이것 보다는 Query Parameter를 이용하여 /api/posts/?id=value 형태로 받아오는 것이 더 RESTful해보이는 것이었다!

어떤 resource를 식별하고 싶으면 Path Variable을 사용하고,
정렬이나 필터링을 한다면 Query Parameter를 사용하는 것이 적절한 것이다.

물론 Path Variable의 장점이 크긴 하지만, 경우에 따라 잘 섞어 써야겠다.


관련 포스팅

Previouse Post

Following Post

profile
I live in Seoul, Korea, Handsome

0개의 댓글