RESTful API

박현석·2024년 7월 2일

API

Application Programming Interface 의 약자로 서로 다른 소프트웨어 응용 프로그램이 통신하며 데이터를 교환할 수 있도록 하는 일련의 규칙, 프로토콜 역할을 한다.

예를 들자면, 식당에가서 우리가 주문서에 주문할 내용을 적는것과 같다.
즉 API는 이 주문명세서에 해당하는것이다.

REST API

REST 라는것은 Representational State Transfer 의 약자로
데이터 교환을 쉽게하고자 하는데 중점을 둔 아키텍쳐 스타일이다.
(별도의 전송계층 필요 X)

데이터를 교환하고자 하는 방식에는 여러 방법이 있다.

양방향 실시간 통신을 하는 웹소켓
클라이언트가 필요한 데이터만 요청할 수 있는 API 쿼리 언어인 그래프QL
HTTP/2 를 사용하며 Google에서 개발한 원격 프로시저 호출(RPC) gRPC
클라이언트가 일정한 간격으로 서버에 요청을 보내는 폴링 (Polling)

REST API 를 사용하며 얻는 이점으로는 단순성표준화이다.

  1. HTTP 메서드를 사용하므로 클라이언트와 개발자가 쉽게 개발하고, 사용할 수 있다
  2. 별도의 인프라가 필요없고, 언어와 플랫폼의 제약이 없다.
  3. 자원 중점적으로 설계를 하여 URI 가 의도하는 바를 직관적으로 알수있다.

RESTful API

RESTful API 라는것은 위의 REST API 잘 따르는 API이다
사용하기 쉬운 인터페이스를 제공하는 목표지만, 성능향상의 목적이 아니다.
따라서 시스템의 성능에 집중해야 할 서비스라면 RESTful API 에 집착할 필요는 전혀 없다.
또한 원칙을 일부 사용한다고 ful 하다고 말 할수도 없다.

1) URI는 정보의 자원을 표현해야 한다.

  • 동사 X 명사 O (복수 표현)
    2) 자원에 대한 행위는 HTTP 메서드(GET, PUT, POST, DELETE 등)로 표현한다.
profile
너에게만광대

0개의 댓글