HTTP 요청을 back-end 컴퓨터에 보냈을 때 실행되는 back-end의 기능이다. 여러 기능들을 API로 구현하여 back-end에서 동작하게 하면 이를 통해 여러가지 연산이 가능해지는 것이다.
예를 들어 게시글을 작성, 수정, 삭제, 읽기 라는 기능을 api로 만든다면 각각 하나씩 구현을 해서 합쳐야한다. (퍼사드 패턴)
API의 종류는 크게 두 가지로 rest-API
와 graphql-API
이다.
모든 정보를 가져오는 rest-API
, 필요한 정보만 가져오는 graphql-API
둘은 필요에 따라 사용한다.
graphql-api는 기존 rest-api를 사용하다 페이스북에서 큰 트래픽을 해결하고자 개발해낸 것이다.
둘은 함수의 이름을 정할 때에도 차이를 보인다.
rest-API는 API 이름이 마치 홈페이지 주소
처럼 생겼고,
graphql-API는 **API 이름이 일반적인 함수**
처럼 생겼다.
- rest-api
https://naver.com/board/2
https://naver.com/profile/영희- graphql-api
board(2)
profile("영희")
**rest-API**
에 요청하는 요청담당자는**axios**
이고,
**graphql-API**
에 요청하는 요청담당자는**apollo-client**
이다.
요청담당자는 Front-end 에서 설치하는 라이브러리이다.
- 국내에선 그정도로 큰 트래픽이 일어나는 경우가 적다.
- 개발자들에게 graphql-api교육을 새로 해야하기 때문이다.
- open-API(public-API)에서 일반적으로 rest-API를 사용하기 때문이다.
그럼으로 아직 rest-api를 배워야한다.
API요청에 대한 결과는 JSON(Javascript Object Notation)이란 자바스크립트의 객체처럼 데이터를 표현하는 방식으로 받는다. 그러나 정확하게 말하면 객체는 아니다.
{
writer:"철수",
title:"안녕"
}
back-end공부를 4일째 하고있지만 아직 배워야할게 산더미처럼 많은 것 같다.