api에 대해서 자세히 알아보자 !!
api는 우선 Application Programming Interface의 약자로 애플리케이션이 어떤 프로그램이 제공하는 기능을 사용할 수 있게 만든 매개체다.
서버가 프로그램에게 자신이 제공하고자 하는 데이터나 기능을 제어할 수 있는 API로 만들면, 접근 권한이 있는 프로그래머나 프로그램이 API를 통해 서버에서 제공하는 데이터를 요청해서 사용할 수 있게 된다.
예를 들어
당근 사이트를 보면 중고거래 인기매물이 grid형태로 나오는데 [사진, 파는 물품, 가격, 지역, 관심, 채팅]은 프론트엔드단에서 하나하나 입력하는 것인가?
절대 아니다. 백엔드에서 해당 item들을 가져오는 형식(GET)이라고 보면 된다.
api를 공부하다 보면 http api, rest api 등에 대해 들어보았을 것이다.
HTTP API에 대해 더 자세히 알아보도록 하자.
Hyper Text Transfer Protocol,
웹에서 데이터를 주고 받는 서버-클라이언트 모델의 프로토콜이다.
HTTP를 사용하여 프로그램끼리 소통하는 API를 의미한다.
보통 우리가 흔히 보는 OPEN API, KAKAO API 등 대부분의 API는 HTTP라는 통신 규칙으로 소통하는 API다.
Representational State Transfer의 약자로 REST란 네트워크 아키텍처 스타일을 의미한다.
💡 네크워크 아키텍터 스타일: 네트워크 자원을 정의하고 처리하는 방법 전반
REST는 HTTP를 잘 활용하기 위한 원칙이라고 할 수 있고,
REST API는 이 원칙을 준수해 만든 API다.
우선 1번에 대해 봐보자.
리소스명은 동사보다는 명사를 사용해야 한다.
예를 들어
GET /members/delete/1
이런식으로 delete라는 동사가 들어가면 안된다.
DELETE /members/1
이런 형태가 되어야 한다.
api를 짤 때 지켜야 하는 규칙이 있다.
이렇게 REST의 원리를 잘 따른 api를
RESTFUL API라고 한다.
실제로 api를 짤 때 프론트단에서 알면 좋은 함수는
map Function, Arrow Function이 있다.
또한, api를 짜고 활용하기 위해서는 여러 개념을 더 알아야 한다. (fetch, axios, 비동기 등)
이건 다음시간에 !!!
참고자료