Application Programming Interface 즉, API
API는 서로 다른 소프트웨어나 어플리케이션 간을 연결해주는 매개체이자 약속이다.
예를 들어 스마트폰의 날씨 앱을 통하여 내일의 날씨를 조회할 때, 앱은 날씨 정고를 제공하는 서버에게 정보를 요청해야 한다. 이 때, 앱과 날씨 서버간의 통신을 도와주는 것이 API이다.
그렇다면 우리가 API를 작성해야 한다고 할때, 이 말의 의미는 무엇인가?
웹 어플리케이션(프론트엔드)에서 원하는 기능을 수행하는 URL과 인터페이스를 제공한다는 의미이다.
사용자가 원하는 목적을 어플리케이션을 통해 이루고자 할때 API에서 필요한 데이터를 받아 데이터베이스에 저장하고, 저장되어 있는 데이터를 읽어서 웹에 데이터를 제공하는 방식!
REST를 최대한 간다하게 설명하자면
URL, Headers, Method 등 네트워크 표현 수단을 사람이 봐도 이해하기 쉬운 표현으로 정의하는 것이다.
이를 토대로 REST API를 생각해본다면 HTTP를 통해 웹 서비스의 자원에 접근하는 방식을 REST의 규칙을 따라 구현된 API이다.
자원(Resource) - URL
행위 - HTTP method
행위를 통하여 자원에 대한 행위를 표현 가능하다.
ex) 예를 들어, GET메서드는 ‘조회(Read)’와 관련이 있으므로 데이터를 읽는 작업을 수행하며, POST메서드는 ‘생성(Create)’와 관련이 있으므로 새로운 데이터를 생성하는 작업을 수행합니다.
이렇게 나누어진것을 보통 CRUD 라고 한다 각각 생성/조회/수정/삭제
Create : 생성(POST)
Read : 조회(GET)
Update : 수정(PUT),(PATCH)
Delete : 삭제(DELETE)