REST, RESTAPI, RESTful
REST(Representational Transfer)(상태를 주고받는다)
- HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고, HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미한다.
API란
- 서로 다른 응용 프로그램 간의 상호 작용 및 통신을 허용하는 기능과 규칙을 제공합니다. 이러한 인터페이스는 애플리케이션 통합을 용이하게 하여 개발자가 강력한 디지털 제품을 만들 수 있도록 합니다.
예시
- HTTP → (Hyper Text Tranfer Protocol)
- 사람이 인지하기 쉽게 상태를 표현을 한다.
- 결국 RESTful은 그 자체로서 인지하기 쉽게 만들었다. 라는 얘기
- 개발할 때 직관적으로 이해할 수 있음.
- HTTP를 이용해서 구성
- URI,URL
- ex ) 도서대출/반납(CRUD)
- 대출하면 대출했다고 DB에 쓰여짐(Create)
- 대출한걸 조회하려면 DB를 조회함(Read)
- 대출을 연장하면 DB를 수정(Update)
- 대출을 반납하면 DB를 삭제(Delete)
- HTTP 안에 CRUD가 정의되어 있음
- CREATE → POST
- READ → GET
- UPDATE → PUT
- DELETE → DELETE
- HTTP를 가지고 자원을 CRUD 할 수 있음(핸들링 할 수 있음)
- 도서를 대출하는 것만 해도 CRUD가 생김.
- 이 상황을 API로 도출해서 도서 관리 프로그램을 만든다고 해서 CRUD와 매핑을 해주는 Open API를 외부로 오픈을 해주었을때 그것을 REST API다 라고 말할 수 있다.
- URL을 쓸 때,
- CREATE → /book
- READ → /book/1
- UPDATE → /book/1
- DELETE → /book/1
- 이것의 조작을 HTTP 메소드를 통해서 하게 되면 이것이 RESTful 방식이며 REST API다. 라고 한다.