웹 개발

REST와 REST 컨벤션 개념 정리

Blue_bull 2025. 4. 24. 11:39

REST와 REST 컨벤션 정리

REST란?

REST(Representational State Transfer)는 웹에서 리소스를 HTTP URI(URL)로 표현하고, **HTTP 메서드(GET, POST, PUT, DELETE 등)**를 통해 리소스를 조회/생성/수정/삭제하는 아키텍처 스타일이다.

특징

  • 리소스(데이터)는 URL로 표현
  • 리소스의 상태 변경은 HTTP 메서드로 표현
  • 클라이언트-서버 구조
  • 무상태성(Stateless)
  • 계층적 URI 구조

예시

  • GET /users → 전체 사용자 조회
  • GET /users/1 → 1번 사용자 조회
  • POST /users → 사용자 생성
  • PUT /users/1 → 1번 사용자 전체 수정
  • DELETE /users/1 → 1번 사용자 삭제

REST 컨벤션이란?

REST를 실무에서 일관성 있게 사용하기 위해 정한 실무 가이드라인/규칙이다. REST 자체가 아닌, REST를 어떻게 잘 구현할 것인지에 대한 팀/프로젝트의 약속이다.

주요 컨벤션 규칙

  • URL은 명사만 사용 → /deleteUser/1 ❌ /users/1 ✅
  • URL은 복수형 사용 → /user ❌ /users ✅
  • HTTP 메서드로 동작 구분 → 조회(GET), 생성(POST), 수정(PUT/PATCH), 삭제(DELETE)
  • 계층적 구조 사용 → /users/1/posts (1번 사용자의 게시글 목록)
  • URL은 소문자 사용, 하이픈 또는 슬래시로 구분

예시 비교

  • 나쁜 예: POST /createUser, GET /getUserInfo
  • 좋은 예: POST /users, GET /users/1

REST vs REST 컨벤션 요약 비교

항목 REST REST 컨벤션

정의 웹 리소스를 URI + HTTP 메서드로 조작하는 아키텍처 스타일 REST 원칙을 실무에서 일관성 있게 쓰기 위한 규칙 모음
목적 시스템 간 통신 방식 정의 실무 코드의 가독성/유지보수성 향상
표준화 여부 원칙은 있지만 자유도 있음 팀/회사마다 약속이 다를 수 있음

결론

  • REST는 큰 틀에서의 원칙
  • REST 컨벤션은 이를 어떻게 실무에서 "예쁘게" 적용할지에 대한 가이드라인
  • 프로젝트마다 REST 컨벤션은 달라질 수 있으며, 팀 내부 약속을 문서화하고 따르는 것이 중요하다.