API (REST API)

programming·2023년 2월 4일
0
post-thumbnail

API

  • 애플리케이션끼리 연결해주는 매개체이자 약속.
  • 사용자들이 쉽게 사용할 수 있는 인터페이스(함수들).
  • 서버입장에서 API = 클라이언트가 사용할 수 있는 URL 같은 것들.

API를 작성한다?

  • 웹 어플리케이션(프론트엔드)에서 원하는 기능을 수행하는 URL인터페이스제공한다는 의미.
  • 우리가 작성 할 API에서 원하는 데이터를 받아 데이터베이스에 데이터를 저장하고, 저장되어 있는 데이터를 읽어서 웹 어플리케이션(프론트엔드)에 데이터를 제공하는 행위를 통해 사용자가 원하는 목적을 이룰 수 있게 해야 한다.

REST API

  • REST는 “Representational State Transfer”의 줄임 말로,
  • 최대한 간단하게 설명하자면 URL, Headers, Method 등 네트워크 표현 수단을 사람이 봐도 이해하기 쉬운 표현으로 정의한다고 이해하면 된다.
    또한 이 “REST 아키텍쳐”는 사람이 봐도 쉽게 이해할 수 있도록 “자원”을 정의하고 이 “자원”을 중심으로 표현을 구성하는 원칙을 제시한다.
  • REST API는 “REST 아키텍쳐”라는 규칙을 따르는 API라고 생각하면 된다.
  • REST API의 구성은 크게 세 가지로 이루어진다.
  1. 자원(Resource) - URL
    • 우리가 만들 소프트웨어가 관리하는 모든 것을 자원으로 표현할 수 있다. 쇼핑몰이라면 상품(Goods)에 대해서 정보를 관리할것이고 또는 장바구니(Carts)에 담긴 상품들도 관리할 것이다.
  2. 행위 - HTTP method
    • HTTP method에는 GET, POST 등등이 있다. 이것으로 해당 자원에 대한 행위를 표현할 수 있다. 예를 들어 GET 메소드는 해당 자원의 조회, POST 메소드는 해당 자원의 생성.
    • 이렇게 나누어진 것을 보통 CRUD 라고 한다. 자원에 대한 생성/조회/수정/삭제를 각각의 method 로 나누어놓은 것이다.
      Create : 생성(POST) / Read : 조회(GET) / Update : 수정(PUT, PATCH) / Delete : 삭제(DELETE)
  3. 표현
    • 해당 자원을 어떻게 표현할지에 대한 설명이다. 보통 JSON, XML 같은 형식을 이용해서 자원을 표현한다.
    • HTTP에서는 Content-Type 이라는 헤더를 통해 표현 방법을 서술한다.
profile
개발 기록 일지

0개의 댓글