REST
REST란?
- HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시
- HTTP Method(POST, GET, PUT, DELETE)로 해당 자원(URI)에 대한 CRUD Operation을 적용
REST의 구성
-
자원 (Resource) URL
- 모든 자원에 고유한 ID가 존재하고, 이 자원은 Server에 존재한다.
- 자원을 구별하는 ID는 /orders/order_id/1 와 같은 HTTP URI 이다.
-
행위 (Verb) - Http Method
- HTTP 프로토콜의 Method를 사용한다.
- HTTP 프로토콜은 GET, POST, PUT, DELETE와 같은 메서드를 제공한다.
-
표현 (Representaion of Resource)
- Client가 자원의 상태 (정보)에 대한 조작을 요청하면 Server는 이에 적절한 응답 (Representation)을 보낸다
- REST에서 하나의 자원은 JSON, XML, TEXT, RSS 등 여러 형태의 Representation으로 나타낼 수 있다.
- 현재는 JSON으로 주고 받는 것이 대부분이다.
REST의 특징
- Server-Client(서버-클라이언트 구조)
- Stateless(무상태)
- Cacheable(캐시 처리 가능)
- Layered System(계층화)
- Uniform Interface(인터페이스 일관성)
REST API
REST API란?
REST의 원리를 따르는 API
REST API 규칙
- URI는 명사, 소문자로 사용한다.
http://www.sitename.co.kr/classes
- URL의 끝에는 /를 붙이지 않는다.
http://www.sitename.co.kr/classes/ (X)
- 가독성을 위해서는 하이픈을 쓴다 (언더바X)
http://www.sitename.co.kr/class-name/
- URI에 파일 확장자는 넣지 않는다.
http://www.sitename.co.kr/class-list.excel
- 행위를 포함하지 않는다.
http://www.sitename.co.kr/classes/1/delete