Skip to content

DOCS.GET POST

negu63 edited this page Aug 31, 2021 · 6 revisions

GET? POST?

안녕하세요, 그림의 남자들 팀에서 그림의 남자2입니다. 본론에 앞서 이 글을 읽어주신데 대하여 심심한 감사의 말씀을 전해드립니다. 이 글의 취지와 목적에 대해서 간략하게 말씀을 드린다면, 이 글은 우리가 우아한 형제들에서 진행하는 우아한 테크캠프. 그 중에서도 4기의 마지막 프로젝트에서 겪었던 의견의 차이와 각각의 입장의 사람들이 어떻게 생각하는지와 그 근거를 공유하고 최종적으로 우리가 진행했고, 다른 방법과 비교를 회고해보기 위함에 있습니다. 새천년 새시대를 열어갈 우리 우아한 테크캠프 교육생들의 열띤 토론에 대해서 예쁘게 봐주시고 그럼 본격적으로 글에 들어가겠습니다. 본격적으로 글에 들어가기 앞서 공익광고 하나 상영하겠습니다.

공익1
공익2

어떤 상황이었나?

검색 목록이나 추천 목록, 메인 페이지에 필요한 아이템 목록을 불러오는데 여러가지 데이터가 필요합니다. 페이지네이션을 위한 항목과, 카테고리, 열어본 아이템 등 여러가지 데이터를 넘겨줘야 했습니다.

GET을 사용하자는 입장 1

결국 불러오기 위한 API 요청인데 GET 요청을 쓰는게 맞다.

POST를 사용하자는 입장 1

데이터를 보낼 때 BODY에 담아서 보내야 하는데, BODY를 사용하려면 POST를 사용해야하지 않는가?

GET을 사용하자는 입장 2

데이터를 보낼 때에는 전체 항목 중을 필터링 해서 몇가지만 가져와야 하니, 의미상으로도 body보다는 query에 담아서 보내는게 맞는 것 같다.

결론

일단 실제 코딩을 하는 건 POST를 사용하자는 입장이었습니다. 그래서 일단 POST로 작성하고 추후에 다시 살펴보기로 했고, 결국 아직 POST를 사용하는 코드로 남아있습니다.

회고

  • 박기덕(GET을 사용하자는 입장) : REST API를 사용하기 때문에 RESTful하게 만들기 위해서는 GET과 query의 조합으로 불러오는게 맞다고 생각한다.
  • 서그림(중립) : 현재 추천 아이템을 불러올 때 방문 로그를 아이템 타이틀을 모아 전송하고 있다. GET을 사용한다면 타이틀 대신 더 간결한 정보를 모아 보낸다면 더 좋을 것 같다.(사실 타이틀이어도 상관 없을 것 같다.) POST로 보내면 좀 더 구현에 있어서 편리할 것 같다는 생각도 있다.
  • 손원우(중립) : 실제 구현은 POST를 이용해 이루어졌는데 생각해보면 페이지나 방문 기록 등의 정보는 이미 노출되어 있기 때문에 쿼리로 보내도 상관없어서 GET과 쿼리의 조합이 좋을 것 같다고 생각된다.
  • 윤민상(GET을 사용하자는 입장) : get으로 보내도 전혀 문제가 없기 때문에 get으로 보내는것이 맞다고 생각한다. body로 받는 경우는 데이터가 노출되면 안되는 경운데 추천부분은 노출되도 상관없기 때문에 get이 더 맞다고 생각한다.
Clone this wiki locally