REST API를 알아보기에 앞서 API란 무엇인지 알아야 할 필요가 있다.
Application Programming Interface, 응용 프로그램 인터페이스는 응용 프로그램에서 사용할 수 있도록, 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다.
wikipedia
즉, 어플리케이션과 프로그래밍으로 소통하는 방법이다.
그러면 Web API는 어떤 기능을 하는지 알아보자.
REST는 월드 와이드 웹과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식이다.
- wiki
REST는 기본 요소 3가지를 가진다.
Resource => URI
Method => HTTP Method
Message => Representations
예를 들어 가수 이름과 노래 정보가 저장되어 있는 웹 페이지가 있다고 가정하자.
여기에서 가수를 추가하고자 할 때 'BTS라는 가수를 생성하고 싶습니다.' 라는 호출이 있을 때 "가수"는 생성되는 Resource, 그리고 "생성하고 싶습니다"라는 행위의 요청은 Method, "이름이 BTS인 가수"는 Message가 된다.
위를 REST 하게 표현을 해보면
Resource = http://api/v1/Artist/
Method = HTTP POST
Message = { "artist" : { "name" : "BTS" } }
이렇게 표현할 수 있다.
URI는 정보의 자원을 표현해야 한다.
자원에 대한 어떤 행위는 HTTP Method로 표현한다.
유명하신 조대협님의 블로그를 참고하여 정리했습니다.