[JS] RESTful API

Kng_db·2023년 3월 27일
0

RESTful API

API란

애플리케이션 프로그래밍 인터페이스(API)는 다른 소프트웨어 시스템과 통신하기 위해 따라야 하는 규칙을 정의합니다. 개발자는 다른 애플리케이션이 프로그래밍 방식으로 애플리케이션과 통신할 수 있도록 API를 표시하거나 생성합니다.
웹 API는 클라이언트와 웹 리소스 사이의 게이트웨이라고 생각할 수 있습니다.

REST 특징

  1. 서버-클라이언트 구조
  2. 무상태
  3. 캐시 처리 기능
  4. 계층 구조
  5. 인터페이스 일관성
  6. 자체 표현

Restful API (REpresentational State Transfer)

RESTful API는 두 컴퓨터 시스템이 인터넷을 통해 정보를 안전하게 교환하기 위해 사용하는 인터페이스입니다. 안전하고 신뢰할 수 있으며 효율적인 소프트웨어 통신 표준을 따릅니다.
URI는 정보의 자원만 표현해야 하며, 자원의 행위는 HTTP Method에 명시합니다.

메서드

  • GET - 서버의 지정된 URL에 있는 리소스에 액세스합니다.
    GET 요청을 캐싱하고 RESTful API 요청에 파라미터를 넣어 전송하여 전송 전에 데이터를 필터링하도록 서버에 지시할 수 있습니다.

  • POST - 서버에 데이터를 전송합니다.
    여기에는 요청과 함께 데이터 표현이 포함됩니다. 동일한 POST 요청을 여러 번 전송하면 동일한 리소스를 여러 번 생성하는 부작용이 있습니다.

  • PUT - 서버의 기존 리소스를 업데이트합니다.
    POST와 달리, RESTful 웹 서비스에서 동일한 PUT 요청을 여러 번 전송해도 결과는 동일합니다.

  • PATCH - 서버의 기존 리소스를 업데이트합니다.
    PUT은 데이터 전체를 수정하지만, PATCH는 데이터 일부만 수정합니다.

  • DELETE - 리소스를 제거합니다.
    DELETE 요청은 서버 상태를 변경할 수 있습니다. 하지만 사용자에게 적절한 인증이 없으면 요청은 실패합니다.

다른 종류의 API

접근 방식에 따른 유형

  • Private API - 노출되지 않는 내부 API
  • Public API - 오픈 API(ex. 공공데이터포털, 문화데이터 광장 등)
  • Partner API - 특정 파트너 간의 데이터 공유. 특정 동의한 곳만 사용 가능

아키텍처 스타일에 따른 유형

  • SOAP API
  • RPC API
  • REST API
  • GraphQL 자세히 알아보기
profile
코딩 즐기는 사람

0개의 댓글