개발/Spring

[Spring] Open API (Application Programming Interface), REST

hojak99 2017. 8. 21. 15:15

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는 제어하려는 자원을 나타낸다. 



반응형