REST API
- Roy Fielding - 2000
- RESTful API
- REpresentational State Transfer
- output: json, xml
구성
- 자원(RESOURCE) - URI
- 행위(Verb) - HTTP METHOD
- 표현(Representations)
특징
- Uniform Interface
- Stateless
- Cacheable
- Self-descriptiveness
- Client - Server
- 계층형 구조
REST API 디자인 가이드
- URI는 정보의 자원 표현
- 행위는 HTTP Method(GET, POST, PUT, DELETE)로 표현한다
중심 규칙
-
잘못 사용한 예
GET /members/delete/1GET /members/show/1GET /members/insert/2
-
수정
DELETE /members/1GET /members/1POST /members/2
-
HTTP METHOD 역할
| Method | 역할 |
|---|---|
| POST | 리소스 생성 |
| GET | 리소스 조회 |
| PUT | 수정 |
| DELETE | 삭제 |
주의할 점
/구분자는 계층 관계 표현- 마지막 문자로
/를 포함하지 않는다 -은 URI 가독성을 높이는데 사용_는 URI에 사용하지 않는다- URI 경로에는 소문자가 적합
- 파일 확장자는 URI에 포함시키지 않는다
리소스 간의 관계를 표현하는 방법
/리소스명/리소스 ID/관계가 있는 다른 리소스명
Collection과 Document
http://restapi.exxample.com/sports/soccersports: Collectionsoccer: Document