REST-API란 Representational State Transfer 줄여서 REST는 클라이언트가 서버 데이터에 액세스하는 데 사용할 수 있는 GET/PUT/DELETE/POST 등의 함수 집합을 정의한다고 한다.
클라이언트와 서버는 HTTP를 사용하여 데이터를 교환하는데 이때 가장 큰 특징은 무상태
라는 점이다. 무상태
란 서버가 요청 간에 클라이언트 데이터를 저장하지 않음을 의미한다. 이는 곧 클라이언트와 서버 역할이 구분됨을 뜻하게 된다.
서버에 대한 클라이언트 요청은 웹 사이트를 방문하기 위해 브라우저에 입력하는 URL와 유사한데 서버의 응답은 웹 페이지의 일반적인 그래픽 렌더링이 없는 일반 데이터를 말한다.
표준 규약이 존재하지 않는다.
안티 패턴으로 설계될 가능성이 높다.
- 표준 규약이 존재하지 않기에 관점이 다른 지식을 사용하여 설계할 수 있고, 이는 곧 안티 패턴이 될 가능성이 존재한다.
❓ 안티 패턴이란?
REST API의 특징을 이해하지 못하고 REST 사상에 어긋나는 패턴을 적용한 API
사례에 대한 예시는 아래 첨부 블로그를 통해 확인할 수 있다.
REST API의 단점 3가지
RDBMS의 표현에 적합하지 않다.
요청방식 | REST-API | GraphQL |
---|---|---|
조회 | GET | QUERY |
생성 | POST | MUTATION |
삭제 | DELETE | MUTATION |
수정 | PUT | MUTATION |