[TIL #19]

이상현·2024년 9월 3일

[ TIL ]

목록 보기
19/38

API란

Application Programming Interface 즉, API

API는 서로 다른 소프트웨어나 어플리케이션 간을 연결해주는 매개체이자 약속이다.

예를 들어 스마트폰의 날씨 앱을 통하여 내일의 날씨를 조회할 때, 앱은 날씨 정고를 제공하는 서버에게 정보를 요청해야 한다. 이 때, 앱과 날씨 서버간의 통신을 도와주는 것이 API이다.

그렇다면 우리가 API를 작성해야 한다고 할때, 이 말의 의미는 무엇인가?

  • 웹 어플리케이션(프론트엔드)에서 원하는 기능을 수행하는 URL과 인터페이스를 제공한다는 의미이다.

  • 사용자가 원하는 목적을 어플리케이션을 통해 이루고자 할때 API에서 필요한 데이터를 받아 데이터베이스에 저장하고, 저장되어 있는 데이터를 읽어서 웹에 데이터를 제공하는 방식!

REST API

REST를 최대한 간다하게 설명하자면
URL, Headers, Method 등 네트워크 표현 수단을 사람이 봐도 이해하기 쉬운 표현으로 정의하는 것이다.

  • 또한, 이러한 REST 아키텍쳐는 사람이 봐도 쉽게 이해할 수 있도록 "자원(Resource)"를 정의하고 이 "자원"을 중심으로 표현을 구성한다.

이를 토대로 REST API를 생각해본다면 HTTP를 통해 웹 서비스의 자원에 접근하는 방식을 REST의 규칙을 따라 구현된 API이다.

구성요소

  1. 자원(Resource) - URL

    • 우리가 만드는 소프트웨어가 관리하는 모든 것을 자원(Rescource)라고 표현 가능하다.
  2. 행위 - HTTP method

    • 행위를 통하여 자원에 대한 행위를 표현 가능하다.
      ex) 예를 들어, GET메서드는 ‘조회(Read)’와 관련이 있으므로 데이터를 읽는 작업을 수행하며, POST메서드는 ‘생성(Create)’와 관련이 있으므로 새로운 데이터를 생성하는 작업을 수행합니다.

    • 이렇게 나누어진것을 보통 CRUD 라고 한다 각각 생성/조회/수정/삭제

Create : 생성(POST)
Read : 조회(GET)
Update : 수정(PUT),(PATCH)
Delete : 삭제(DELETE)

  1. 표현
  • 해당 자원을 어떻게 표현할지에 대한 방법. 보통 JSON, XML과 같은 형식을 이용해서 자원욜 표현한다.
  • HTTP에서는 Content-Type 이라는 헤더를 통해 표현 방법을 서술.
profile
Node.js_6기

0개의 댓글