REST는 자원, 행위, 표현으로 구성된다.
- 자원(Resource)는 URI가 가리키는 리소스
- 행위(Verb)는 HTTP Method (ex. GET/ POST/ PUT/ DELETE 등..)
- 표현(Representation)은 리소스의 특정 시점 상태를 반영하고 있는 정보
api/버전/Resource
의 형태로 사용한다./api/버전
를 붙이는 것이 뭐가 좋을까?기존에 API를 설계할 때, 단순히 엔드포인트/resource
를 붙여서 사용해왔다. 하지만, 다른 개발자들의 git을 보면서 앞에 /api
를 붙여서 사용하는 것을 보게 되면서 '앞에 /api가 무슨 의미가 있지?' 하는 생각이 들었다.
다른 사람들의 벨로그와 stackoverflow를 보면서 정리하자면
생각해보니 맞는말만 써서 생각이 변하게 되었다. /api
가 없을 경우 단순히 REST API인지 페이지 라우팅인지 헷갈릴수 있는 부분이었는데 이번 프로젝트를 하면서 /api
를 붙여 사용하니 API주소가 분리되어 편리하였다.
물론 나같은 경우 서버 자체가 웹 페이지를 가지는 경우는 아니었지만 이러한 방식으로 사용하는 것이 더 좋았다. 또한, /api/
뒤에 v1
과 같은 버전을 붙이면서 어떻게 변경되었는지 알 수 있는 부분이었다.