REST API

REST API란 무엇인가?

얄코 REST API 이 동영상 보고 정리함!

REST란?

REST(REpresentational State Transfer)는 인터넷 상의 컴퓨터 시스템간 상호운용성을 제공하는 방법 중 하나!

REST는 HTTP 기반으로 필요한 자원에 접근하는 방식을 정해놓은 네트워크 아키텍쳐이다. 자원이란? 저장된 데이터(DBMS)는 물론, 이미지/동영상/문서(PDF등)/서비스(이메일전송, 푸쉬메시지 등) 모두 포함된다.

API란?

소프트웨어가 다른 소프트웨어로부터 지정된 형식으로 요청, 명령을 받을 수 있는 수단을
API(Application Programming Interface)라고 한다.

REST API란?

REST기반으로 서비스 API를 구현한 것을 REST API라고 한다. 프론트엔드 웹에서 서버에 데이터를 요청하거나 할때 사용되는 것이 REST란 형식의 API이다.


REST API의 가장 큰 특징은
각 요청이 어떤 동작이나 정보를 위한 것인지 요청의 모습 자체로 추론가능하는 것이다.
REST API와 같이 형식에 상관없이 기능만 가능하게 물론 만들 수 있으나 개발자는 혼자가 아니다.

자원을 구조와 함께 나타내는 이런 형태의 구분자를 URI라고 한다.

http://(도메인)/classes/1/name?count=10 (classes에서 1 idx에서 name에서 10개)


image

CRUD 기능
GET READ, 조회
POST CREATE, 새로운 정보 추가
PUT, PATCH UDPATE
DELETE 삭제

PUT은 해당 데이터들을 통째로 수정할때, PATCH는 정보 중 일부를 특정 방식으로 변경할때
ex) 도메인/classes/2/students/14 : POST에서는 14라는 idx가 필요없는데 PUT은 수정할 idx도 보냄


URI는 동사가 아닌 명사로 사용하여야하기때문에
GET, POST만으로 모든것을 처리 할때 URL에 update, create등의 동작을 넣지 않는다.

POST로만 사용하게 된다면 URI에 동사들을 넣게되어 불필요할 것이다.
ex) 도메인/classes/2/students/create, 도메인/classes/2/students/14/update


결국 REST API란 HTTP 요청을 보낼때
어떤 URL에 어떤 메소드를 사용할지 개발자들 사이에 널리 지켜지는 약속이다.

형식이기 때문에 기술에 제약을 받지 않는다.
어떤 언어든 APP, 웹 상관없이 소프트웨어에 HTTP로 정보를 주고 받는 부분이 있다면 restful API 사용 가능!
인터넷에 restful api design guidelines을 검색하면 많이 나온다!

Comments

comments powered by Disqus