발표 후 해당 질문을 받았는데.. 순간 머리가 멍해져서 대답을 못했다. GET/POST를 떠올리면 됐는데..
1. REST란?
REpresentational State Transfer의 약자.
웹의 자원을 URL로 표현하고, 그 자원에 대한 행위는 HTTP 메서드로 표현하는 아키텍처 스타일을 뜻함.
자원(Resource) → /users, /posts, /products 등의 URI로 표현
행위(Method) → GET, POST, PUT, DELETE 등의 HTTP 메서드 사용
→ 설계 원칙!
2. REST API란?
: REST 아키텍처 원칙을 따르는 API
→ API란? 프로그램 간 통신 창구를 의미하고, REST API란? REST 원칙을 따르는 URL + HTTP 메서드로 구성된 API를 말한다.
3. RESTful API란?
: REST 원칙을 최대한 잘 지켜서(== 원칙을 더 철저하게 지켜서) 만든 API.
- REST를 지킨 정도가 높을수록 RESTful하다고 표현한다.
- URI에 동사 쓰지 않기, 리소스 중심으로 설계하기 등 원칙에 충실해야 함
구분 | REST API | RESTful API |
정의 | REST 원칙을 따른 API | REST 원칙을 엄격히 따른 API |
특징 | 넓은 개념 (REST 기반이면 대부분 포함) |
설계 원칙을 더 철저히 지킴 |
사용 예 | 실무 API 대부분 | 일부 표준 서비스 (GitHub API 등) |
우리 프로젝트에서 예를 들어보자면 POST /member/findId가 있는데 이건 REST API는 맞지만 , RESTful API는 아닌 것이다.
RESTful 원칙에 따르면, /findId는 동사를 URI에 포함하고 있어서 RESTful API가 아니다.
그리고 RESTful API에서는 대문자보다는 소문자를, _보다는 -를 사용한다고 한다.
그러면 POST /member/findId는 POST /member/id-search 가 되어야 하는걸까..
'웹 개발' 카테고리의 다른 글
[Spring] Bean의 생명주기 (1) | 2025.06.09 |
---|---|
복호화와 양방향 암호화 방식 (0) | 2025.06.01 |
[FullStack] 상품 품절 시 상품 목록에서 품절 이미지 띄우기 (0) | 2025.05.28 |
[Backend] 이메일 API와 네이버 로그인 API의 흐름도 (0) | 2025.05.27 |
[Front] AJAX 콜백 함수 형식 (0) | 2025.05.26 |