REST API를 처음 설계하고 있는데 URL 네이밍을 어떻게 해야 할지 모르겠습니다.
# 어떤 게 맞는 건가요?
GET /getUsers vs GET /users
GET /user/1 vs GET /users/1
POST /createUser vs POST /users
GET /users/search?q=kim vs GET /search/users?q=kim
복수형을 써야 하는지, 동사를 URL에 넣어도 되는지, 중첩 리소스는 어디까지 깊이 들어가야 하는지 기준이 궁금합니다.
댓글 4
REST API 네이밍에는 업계에서 널리 쓰이는 컨벤션이 있습니다.
핵심 원칙:
URL에는 동사를 넣지 않습니다. HTTP 메서드(GET, POST, PUT, DELETE)가 이미 동사 역할을 하니까요.
/getUsers대신GET /users로 충분합니다.좋은 질문입니다! 로그인처럼 CRUD에 맞지 않는 동작은 예외적으로 동사를 쓰거나 리소스로 바꿔서 표현합니다:
실무에서는 방법 2를 많이 씁니다. REST 원칙을 100% 지키는 것보다 API가 직관적이고 사용하기 편한 게 더 중요합니다.