데이터베이스 설계가 끝난 다음으로는 서비스의 주요 기능에 맞는 api를 설계하는 작업을 진행했다.
DB를 기준으로 app을 나누고 필요한 기능들을 세분화하였다.
개발을 진행하면서 DB가 확장되고, 필요한 기능들이 많아지면서 API도 여러부분 개편되었다.
맨 처음 API를 설계할 때는 나름 체계적으로 정리했다고 생각했는데, 프로젝트를 진행하면서 웹에 대한 공부를 하다보니 처음부터 잘못된 설계였다는 걸 깨달았다.
구체적으로 내가 잘못 생각한 개념들은 다음과 같다.
- 내가 만드는 게 유저에게 직접적으로 보여지는 화면이라 생각하고 기능을 나눴다. 그러다보니 기능 하나하나가 화면의 한 페이지 전체를 담당하게 되었다.
- 1번에서 언급했듯이 API를 한 화면이라고 잘못 생각했기 때문에 URI의 모습이 RESTful API의 URI규칙을 따르지 않고 제멋대로다.
개발 중간에 이를 알아차렸는데 그제서야 API 구조를 바꾸기엔 마감기한이 얼마 남지 않아 어쩔 수 없이 그대로 진행하게 되었다. 추후에 기회가 된다면 리팩토링을 통해 기능을 좀 더 세분화해서 RESTful한 API로 다시 설계해야 할 것 같다.