<7> REST API & CRUD
# REST
- REpresentational State Transfer
- REST is an architecture style for designing networked applications.(wiki)
- 표면적인 실체는 '스타일' 또는 '패턴'이라고 할 수 있다고 한다.
# RESTful API
- REST한 방식의 API란, 아래와 같이 잘 설계된 API를 의미한다고 한다.
・ 웹을 근간으로 하는 HTTP Protocol 기반이다.
・ 리소스는 URI(Uniform resource Identifiers)로 표현하며, 말 그대로 '고유'해야한다.
・ URI는 단순하고 직관적인 구조여야 한다.
・ 리소스의 상태는 HTTP Methods를 활용해서 구분한다.
・ xml/json을 활용해서 데이터를 전송한다. (주로 json)
# CRUD
- 네트워크를 통해 웹 리소스(resource)를 다루기 위한 행위들.
- 각각의 행위를 처리하기 위한 HTTP methods(POST, GET, PUT, DELETE) 가 있다.
・ Create (POST)
・ Retrive (GET)
・ Update (PUT)
・ Delete (DELETE)
# API Design
- 복수명사를 사용 (/movies)
- 필요하면 URL에 하위자원을 표기함. (/movies/23)
- 필터조건을 허용할 수 있음 ( /movies?state=active)
# Example
URL |
Methods |
설명 |
/movies/ |
GET |
모든 영화 리스트 가져오기 |
/movies/ |
POST |
영화 추가 |
/movies/:title |
GET |
title 해당 영화 가져오기 |
/movies/:title |
DELETE |
title 해당 영화 삭제 |
/movies/:title |
PUT |
title 해당 영화 업데이터 |
/ movies?min=9 |
GET |
상영중인 영화 리스트 |
-
'H6 > backend (Node.js, tsc)' 카테고리의 다른 글
<6> tsconfig.json 을 통한 컴파일 옵션 설정 (0) | 2018.01.31 |
---|---|
<5> node-mysql (Typescript) (0) | 2018.01.22 |
<4> MySQL & node-mysql (0) | 2018.01.22 |
<3> 에러처리.. (0) | 2018.01.22 |
<2> app.ts 및 server.ts 만들기 (0) | 2018.01.22 |