REST API, RESTful API
REST : REpresentational State Transfer
-> 웹 서비스가 어떻게 동작해야 하는지에 대한 아키텍처 스타일 또는 설계 원칙
-> 클라이언트와 서버간의 상호 작용 규정
-> 상태를 가지지 않는 통신, 캐시 가능한 응답을 지향
RESTful API
REST API 설계 규칙
- URL은 자원을 나타내는 명사 (동사 X)
- HTTP 메소드 활용
- GET : 정보 요청
- POST : 정보 생성
- PUT : 정보 수정(전체)
- PATCH : 정보 수정(일부)
- DELETE : 정보 삭제
-
HTTP 응답코드 활용 : 해당 요청에 대한 처리 상태 알도록
응답코드
-
파일 확장자는 URL에 포함하지 말기
-
조회시 쿼리 사용
-
마지막에 슬래시 포함하지 말기. , 계층관계는 슬래시로 표현
REST 특징
- server-Client
- 자원이 있는 쪽이 server, 자원을 요청하는 쪽이 Client
- rest server: API를 제공하고 비지니스 로직 처리 및 저장을 책임짐
- Client : 사용자 인증 및 context(세션, 로그인정보) 등을 직접 관리하고 책임짐.
- 서로간 의존성이 줄어듬
- Stateless(무상태)
- HTTP 프로토콜은 stateless protocol이므로 REST도 무상태성을 가짐
- Client의 context를 server에 저장하지 않음. 즉, 세션과 쿠키와 같은 context정보를 신경쓰지 않아도 됨.
- server는 각각의 요청을 완전히 별개의 것으로 인식하고 처리.