해당 단어를 쉽게 말한다면 두 애플리케이션이 서로 통신하는 방법 이라고 할 수 있을 것 같습니다.
API를 통해 서로 다른 소프트웨어 간의 상호작용을 가능하게 합니다.
흔히 웹 프로젝트를 진행하며 API를 사용하는 상황을 아래와 같이 볼 수 있습니다.
요청을 보내는 애플리케이션을 클라이언트라고 하고 응답을 보내는 애플리케이션을 서버라고 합니다.
API는 위에서 말씀드렸다시피 통신하는 방법이라고 합니다.
API는 네 가지 방식으로 작동할 수 있습니다.
REST는 Representational State Transfer의 줄임말입니다.
API 작동 방식에 대한 조건을 부과하는 소프트웨어 아키텍처입니다.
HTTP의 주요 저자 중 한 사람인 로이 필딩이 웹(HTTP)의 장점을 최대한 활용할 수 있는 아키텍처로써 REST를 발표했다고 합니다.
자원은 웹 서비스에서 제공하는 모든 데이터 또는 객체를 의미합니다.
각 자원은 고유한 URI로 식별됩니다.
CRUD(Create, Read, Update, Delete) 연산을 수행하기 위해 HTTP 메서드(GET, POST, PUT, DELETE 등)를 사용합니다.
클라이언트가 자원에 대한 요청을 보내면, 서버는 해당 자원의 표현을 응답으로 반환합니다.
REST에서 자원은 다양한 형식(JSON, XML 등)으로 표현될 수 있습니다.
REST의 기본 원칙을 성실히 지킨 서비스 디자인을 “RESTful”이라고 표현합니다.
그렇다면 REST한 API는 어떻게 만들어야 할까요??
REST API 설계시 지켜야할 중요한 항목 2가지
1. URI는 정보의 자원을 표현한다.
2. 자원에 대한 행위는 HTTP 메서드로 표현한다.
위 글을 저의 생각으로 표현한다며
URI로 원하는 것(명사)을 표현하고, HTTP 메서드로 원하는 행동(동사)을 표현한다.
Method | 역할 |
---|---|
GET | 데이터 조회 |
POST | 데이터 생성 |
PUT | 데이터 전체 수정 (업데이트) |
PATCH | 데이터 일부 수정 (업데이트) |
DELETE | 데이터 삭제 |
RESTful API 설계 가이드
NHN클라우드의 REST API 제대로 알고 사용하기
Spoqa 기술블로그