REST API 와 API 의 뜻
REST API를 설명하기에 앞서 먼저 API라는 용어는 무엇인지 알아보자.
API라는 용어는 개발하면서 한번쯤은 들어봤으나 설명하라고 하니 말로 표현하기가 어려운 느낌이다. 지도 API, 결제 API 등등 편하게 쓰이지만 정작 어떤 용어인지 설명하라면 말문이 막혀서 이참에 한번 정리를 해보고자 한다.
API란?
API(Application Programming Interface)는 응용프로그램에서 사용할 수 있도록 운영체제나 프로그래밍 언어에서 제공하는 기능을 제어할 수 있도록 하는 인터페이스를 말한다.
이렇게 말하면 어려우니 자판기를 통해 API를 알아보도록 하자.
일상생활에서 음료수나 기타 먹을거리를 간편하게 이용할 수 있는 자판기는 일반인 입장에서는 이 자판기가 돈을 넣고 버튼을 누르고 해당 음료수가 나오기 까지 어떤식으로 동작하는지 알 수도 없고, 알 필요도 없다. 자판기의 동작 원리를 모른다고 해서 음료수를 뽑아먹지 못하는건 아니기 때문이다. 그리고 이런 인터페이스가 직관적일수록 누구나 쉽게 접근할 수 있고 사용하기 편한 것이다. 즉, 인터페이스란 사람과 사람, 사람과 사물 또는 기기를 연결하는 것인데 총 정리를 하자면 API는 어플리케이션 간에 지정된 형식으로 요청과 응답을 할 수 있도록 연결해주는 것을 말한다.
REST API란?
REST(Representational State Transfer)는 기본적으로 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하기 때문에 웹의 장점을 최대한 활용할 수 있는 아키텍처 스타일이다.
URI와 HTTP를 기반으로 하며 브라우저 호환성이 좋은 JSON 형식을 주로 사용한다.
구체적으로는 HTTP URI를 통해 어떤 자원인지 명시하고, HTTP Method(GET, POST, PUT, PATCH, DELETE)를 통해 해당 자원을 처리하도록 설계되어있다. 또한 HTTP Method를 활용해 해당 자원에 대한 CRUD 를 적용할 수 있다.
그래서 REST의 가장 중요한 특징은 각 요청이 어떤 정보나 동작을 위한 것인지 모습 자체만으로 추론이 가능하다는 점이다.
REST API 를 REST와 API를 통해 정리해보자면 REST기반으로 서비스 API를 구현한 것이며 이는 HTTP요청을 보낼 때 어떤 URI에 어떤 메소드를 사용할 지 개발자들 사이에 하나의 약속이라고 보면 된다.
REST API 규칙
REST API 설계 기본 규칙
- URI는 정보의 자원을 표현해야 한다.
- 동사보다는 명사를, 대문자보다는 소문자
- 자료에 따라 단수 명사, 복수 명사 구분
- 자원에 대한 행위는 HTTP Method(GET, PUT, POST, DELETE 등)로 표현한다.
- URI에 HTTP Method가 들어가면 안된다.
- URI에 행위에 대한 동사 표현이 들어가면 안된다.
- 경로 부분 중 변하는 부분은 유일한 값으로 대체
REST API 설계 규칙
- 슬래시 구분자( / )는 계층 관계를 나타내는데 사용한다.
- URI 마지막 문자로 슬래시( / )를 포함하지 않는다.
- 하이픈( - )은 URI 가독성을 높이는데 사용한다.
- 밑줄( _ )은 URI에 사용하지 않는다.
- URI 경로에는 소문자가 적합하다.
- 파일확장자는 URI에 포함하지 않는다.