Rest-API & GraphQL-API

진성·2022년 3월 17일
0

API

목록 보기
2/3
post-thumbnail

API

API란 HTTP 요청을 Back-end 컴퓨터에 보냈을때 실행되는 Back-end 기능이다.
쉽게 예를 들면 Back-end 개발자가 만든 함수와 같은 것 이다.
Front-end에서 HTTP라는 길을 통행 데이터를 Back-end에 보내 데이터 베이스로 저장시킨다.
API는 여러 종류가 있고, Front-end에서 종류에 맞게 데이터를 보내면 종류에 따라 API가 실행되어 데이터를 데이터 베이스에 저장시킨다.

Rest-API

rest-api는 sever api를 만드는 방법론 중 하나이다.

rest-API는 API 이름이 홈페이지 주소 처럼 생겼다.

axios.get(https://www.naver.com/board)

rest-api는 위와 같이 엔트포인트가 존재하고 이 엔드포인트로 구분하여 데이터를 요청하고 등록, 수정할 수 있다.
rest-API는 axios라는 라이브러리를 사용하면 쉽게 사용할 수 있고, 백엔드에서는 express를 이용하여 서버를 구축할 수 있다.

api를 이용해 데이터를 조회, 등록, 수정, 삭제를 할 수 있으며 이를 CRUD라고 부르며 rest-api에서는 아래와 같이 구분할 수 있다.

생성(CREATE) - POST
수정(UPDATE) - PUT
삭제(DELETE) - DELETE
조회(READ) - GET

RESTful

restful은 rest-api를 만들때 이를 관리하기 쉽게 하는 기법중 하나로, 엔드포인트를 만들때 같은 이름으로 통일하고 메서드를 통해 이를 구분을 해서 보다 쉽게 엔트포인트를 관리하는 것이다.

GraphQL-API

graphql은 Graph Query Lacnguage의 줄임말이다.
Query Language는 정보를 얻기 위해 보내는 질의문을 만들기 위해 사용되는 언어의 일종이다.
이러한 graphql이 나오게 된 이유는 rest 방식의 api는 데이터를 조회할 때 모든 데이터를 받아와야 했지만 graphql은 자기가 원하는 데이터만 골라서 받을 수 있고 보다 편하게 데이터를 수정할 수 있도록 표준화된 언어를 만들게 된 것이다.

graphql-api는 rest-api와 달리 일반 함수와 같은 형태를 가지고 있다.

getBoard(1)

graphql-api를 보다 쉽게 사용할수 있게 도와주는 라이브러리로 apollo-client가 존재한다.

graphql-API의 CRUD 메서드는 rest-api와 조금 다르고 아래와 같다.

생성(CREATE) - MUTATION
수정(UPDATE) - MUTATION
삭제(DELETE) - MUTATION
조회(READ) - QUERY

위와 같이 데이터베이스를 직접 수정해야 하는 것들은 mutation이고 오직 조회만 해도 된다면 query라고 한다.

실제 사용법

import { useMutation, useQuery } from '@apollo/client'

const result = useMutation(API이름)
const result = useQuery(API이름)
profile
풀스택 진행중...

0개의 댓글