API의 대표적인 아키텍처인 REST API를 알아보고,
Postman
으로 HTTP 요청을 직접 실습(API 테스팅)해보자.
A REST API is an API that conforms to the design principles of the REST, or representational state transfer architectural style.
For this reason, REST APIs are sometimes referred to RESTful APIs.
REST = Representational State Transfer.
HTTP URI를 통해 리소스를 명시하고, HTTP Method(POST, GET, PUT, PATCH, DELETE)를 통해 해당 리소스에 대한 CRUD Operation을 적용하는 것을 의미한다.
즉, REST
는 어떤 자원에 대해 CRUD(Create, Read, Update, Delete) 연산을 수행하기 위해 URI(Resource)로 요청을 보내는 것 으로 GET
, POST
등의 방식(Method)을 사용하여 요청을 보낸다.
요청을 위한 자원은 특정한 형태(Representation of Resouce)으로 표현된다.
그리고 이러한 REST 기반의 API를 웹으로 구현한 것이 RESTful API이다.
기본적으로 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하기 때문에 웹의 장점을 최대한 활용할 수 있는 아키텍처 스타일이다.
REST 구성 = Resource(자원) + Method(행위) + Representation of Resource(자원의 형태).
GET
, POST
, PUT
, PATCH
, DELETE
)JSON
, XML
, TEXT
, RSS
등 여러 형식의 데이터.API = Application Programming Interface.
데이터와 기능의 집합을 제공하여 컴퓨터 프로그램 간 상호 작용을 촉진하며, 서로 정보를 교환가능 하도록 하는 것.
예를 들어, 게시글을 작성하기 위해 https://localhost:8080/board
라는 URI에 POST
방식을 사용해 JSON형태의 데이터를 전달할 수 있다.
CRUD 연산에 대한 요청을 할 때, 요청을 위한 Resource(자원, URI)와 이에 대한 Method(행위, POST), 그리고 Representation of Resource(자원의 형태, JSON)을 사용하면 표현이 명확해지므로 이를 REST
라고 한다.
이러한 규칙을 지켜서 설계된 API를 REST API
또는 RESTful API
라고 한다.
REST API: Key Concepts, Best Practices, and Benefits
REST란? REST API란? RESTful이란?