개발자가 되기 위한 꿀팁 및 정보

[기술면접준비] RESTful API

푸른매실 2023. 3. 27. 14:44

REST는 Representational State Transfer의 약자로, 자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 것을 의미합니다. RESTful API는 REST 아키텍처 스타일을 따르는 API를 의미합니다. 이는 HTTP 프로토콜의 장점을 최대한 활용하여 API를 설계합니다.

RESTful API는 다음과 같은 특징을 가지고 있습니다.
자원(URI)으로 구분: 모든 자원에 고유한 URI가 존재하여 리소스를 지정합니다.
자원에 대한 행위(HTTP Method)로 구분: HTTP 프로토콜의 Method를 사용하여 자원에 대한 CRUD(Create, Read, Update, Delete) 연산을 수행합니다.
자원에 대한 표현: 클라이언트가 자원에 대한 상태를 받는 대표적인 형태는 JSON, XML 형식의 데이터를 주고 받습니다.

RESTful API에서는 다음과 같은 HTTP 메소드를 사용합니다.
GET: 자원을 조회합니다.
POST: 자원을 생성합니다.
PUT: 자원을 수정합니다.
DELETE: 자원을 삭제합니다.

그 외에도 다음과 같은 HTTP 메소드가 있습니다.
HEAD: 자원의 메타 정보를 조회합니다.
OPTIONS: 자원에 대한 허용 가능한 HTTP Method를 확인합니다.
PATCH: 자원의 일부를 수정합니다.

RESTful API가 아닌 것들은 대부분 SOAP 기반의 웹 서비스이며, XML을 사용합니다. RPC 기반의 서비스도 있습니다. 최근에는 GraphQL이라는 쿼리 언어를 사용하는 API가 등장하고 있습니다.