Open API
Open API 는 말 그래도 개발형 API이다.
API가 응용 프로그램을 개발할 때 사용하는 인터페이스라는 의미이므로, Open API는 프로그래밍에서 사용할 수 있는 개방되어 있는 상태의 인터페이스를 말한다.
- Daum, Naver 등의 포털 사이트나 통계청, 기상청 등과 같은 관공서에서도 가지고 있는 데이터를 외부 응용 프로그램에서 사용할 수 있도록 Open API 를 제공하고 있다.
- Open API 와 함께 자주 거론되는 기술이 REST 이며, 대부분 Open API는 REST 방식으로 지원되고 있다.
REST (REpresentational Safe Transfer)
HTTP URI + HTTP Method
HTTP URI를 통해 제어할 자원(Resource)을 명시하고, HTTP Method(GET, POST, PUT, DELETE)를 통해 해당 자원(Resource)을 제어하는 명령을 내리는 방식의 아케텍처이다.
- HTTP 프로토콜에 정의된 4개의 메소드들이 자원에 대한 CRUD Operation 을 정의
Http Method |
CRUD |
POST |
Create(Insert) |
GET |
Read(Select) |
PUT |
Update or Create |
DELETE |
Delete |
RESTful API
RESTful API는 HTTP와 URI 기반으로 자원에 접근할 수 있도록 제공하는 애플리케이션 개발 인터페이스 (REST의 원리를 따르는 시스템은 RESTful 이란 용어로 지칭된다)
기존의 웹 접근 방식과 RESTful API 방식과의 차이점
|
기존 게시판 |
Restful API를 지원하는 게시판 |
글읽기 |
GET /list.do?no=510&name=java |
GET /bbs/java/510 |
글등록 |
POST /insert.do |
POST /bbs/java/510 |
글삭제 |
GET /delete.do?no=510&name=java |
DELETE /bbs/java/510 |
글수정 |
POST /update.do |
PUT /bbs/java/510 |
- 기존의 게시판은 GET과 POST만으로 자원에 대한 CRUD를 처리하며, URI는 액션을 나타낸다.
- RESTful 게시판은 4가지 메소드를 모두 사용하여 CRUD를 처리하며, URI는 제어하려는 자원을 나타낸다.