[REST API] API 설계하기

2021. 5. 23. 02:21PROJECT/Dkbk's website

사실 개인 웹페이지를 만들면서 be를 붙이기 망설여졌던 이유 중에 하나가 바로 REST API 주소 설계였는데....

회사에서 일할 때야 사실 내가 첨부터 만드는 경우가 거의 없으니 convention이 이미 짜여져 있고,

다른그림찾기 문제 처럼 뭔가 기존 API 주소와 넘 다르지 않게 눈치껏 짜는게 습관이 되어있음

막상 첨부터 짜려니까 고장난 로봇이..,. 되어버림,.,.. 

잘짜여진 API 주소는 생각보다 많은 에포트를 세이브 할 수 있다는 것을 알기 때문에 (특히나 인원이 많거나 잦은 인원교체가 일어나는 경우,, 한눈에 이해되는 API 주소는 신규-기존인원 간의 불필요한 의사소통을 줄여주는 아주 기특한 칭구가 된다)
개인적으로 작업할 때에도 약간의 고민을 해보기로 했고, 일단은 이렇게 정리해봤다.

기능 API url method
현재 진행중인 스프린트 정보 조회 /sprint/latest GET
task 상태변경 /task/{taskId}/status PUT
task 수정 /task/{taskId} PUT
task 삭제  /task/{taskId} DELETE
backlog task 생성 /task POST
과거 진행했던 스프린트 목록 조회 /sprint/list GET
과거 진행했던 스프린트 정보조회 /sprint/{sprintId} GET
스프린트 생성 /sprint POST


+) graphQL을 사용하는 것도 진지하게 생각해 보았는데,,, 
graphQL request와 response 예시만 보고 첨에는 마법같은 기술인가..?! 하고 놀랐는데
움.. 사실은 요청이 동적으로 들어올 뿐이지 그걸 처리하는 쿼리를 짜는 것은 결국 개발자의 역량,, 이라는 사실을 깨닫고 일단 보류한 상태임