본문 바로가기
당근마켓 만들기

당근마켓 API 설계하기 - 2일차

by 자바지기 2021. 11. 1.
반응형

당근마켓 ERD 설계를 바탕으로 API를 설계하였다.

최대한 rest api 형태를 지키기 위해 노력하였지만 아직 많이 부족한 것 같다.

전에 혼자서 instagram api를 설계할 때는 api의 재사용은 전혀 신경쓰지 않았는데 같이 작업하시는 분께서 api를 재사용 가능하게끔 만들어야한다고 가르쳐주셨다. 또한 이때까지는 각 화면에 필요한 모든 구성요소를 쿼리문 하나로 작성하여 클라이언트에게 보내는 것이라고 착각하였는데 오늘 안드로이드 개발자분과 함께 얘기를 나눈 결과 하나의 페이지에서도 여러 개의 api가 존재하고 그 api를 통해 가져온 데이터를 묶어 한 페이지에 출력하는 것이 가능하다는 것을 깨달았다. 얼른 이 프로젝트를 끝내고 프레임워크에 대한 공부를 진행하면서 API에 대한 내용을 깊이 있게 공부하고 싶다는 생각이 들었다.

당근마켓의 주요 기능인 거래에 필요한 부분만 api를 설계하는데도 어려움이 많이 있었다.

제일 어려운 부분은 api의 도메인을 설정하는 것이었다. 어떤 도메인에 속하는 api인지 정하는 것이 어려웠다. 이 부분에서 의견 충돌이 많이 일어났다.

그리고 특정 작업이 클라이언트, 서버 둘 다에서 해결할 수 있는 작업일 때 어디서 작업을 해야할 지에 결정하는 부분도 어려웠다. 그렇지만 클라이언트분께서도 요청할 때 마다 회의에 참여해주셔서 문제를 잘 해결할 수 있었다.


설계한 api는 다음과 같다.

설계하고보니 예상보다 적다.

막상 구현하면 많다고 느낄 것 같지만 

 

 

API 명세서

https://docs.google.com/spreadsheets/d/1wmm6zQDVHvNAgIDc217vzNfrzQnAEfTgeliGeBPBEvk/edit#gid=1340372136

 

 

깃허브 

https://github.com/seong-wooo/Carrot_Market_Server

반응형

댓글