쭈꾸미
코드짜는 쭈꾸미
쭈꾸미
전체 방문자
오늘
어제
  • 분류 전체보기 (122)
    • Journal (54)
      • Today I Learned (44)
      • 후기&회고 (4)
      • 개인 프로젝트 (4)
      • 독서일기 (2)
    • HTML, CSS (5)
    • Javascript (32)
    • Typescript (2)
    • Git, Github (4)
    • Algorithm (1)
    • React, Next.js (14)
    • API, Database (6)
      • API (0)
      • Database (1)
      • GraphQL (2)
      • Rest-API (1)
    • React-Native (1)
    • ETC (2)
    • OS (1)
      • 우분투 Ubuntu (1)

인기 글

티스토리

hELLO · Designed By 정상우.
쭈꾸미

코드짜는 쭈꾸미

API, Database

[API] Rest-API vs Graphql-API

2022. 1. 12. 18:20

Rest-API vs Graphql-API


API에는 크게 rest-API, graphql-API 2종류가 있다.

 

  Rest-API GraphQL-API
API 함수 이름 주소처럼 생긴 이름

http://naver.com/board/1
http://naver.com/profile/철수
일반 함수와 같은 이름

board(1)
profile("철수")
응답 결과물 일부 데이터만 필요한 경우에도 전체 데이터를 받아야만 하는 구조 원하는 일부 데이터만 골라 받을 수 있음
요청담당자 axios apollo-client

GraphQl은 효율적인 데이터 통신을 위해 페이스북 개발팀에서 만들었으며, facebook, airbnb, github 등 많은 사이트에서 사용중인 통신 방법이다. 하지만 국내에서는 아직 GraphQL이 많이 사용되지 않는다. 공공 API도 대부분 Rest-API로 만들어져있다.

 

CRUD method의 차이


Rest-API 와 GraphQL-API는 CRUD에도 차이가 있다.

 

  Rest API
axios
GraphQL API
apollo-client
생성 Create POST MUTATION
(변경하는 작업)
수정 Update PUT
삭제 Delete DELETE
조회 Read GET QUERY
(조회하는 작업)

또한 실제 사용방법에도 차이가 있다.

 

▼ axios (Rest-API)

import axios from 'axios'

const result = axios.post( API이름입력 )
const result = axios.put( API이름입력 )
const result = axios.delete( API이름입력 )
const result = axios.get( API이름입력 )

▼ apollo-client (GraphQL-API)

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

const result = useMutation( API이름입력 )
const result = useQuery( API이름입력 )

 

API Docs & 연습도구


API는 백엔드 개발자가 어떻게 코딩하느냐에 따라 무궁무진하게 달라지기 때문에 설명서가 필요하다, 이러한 설명서를 docs라고 하며, API docs와 연습도구 역시 API 종류에 따라 갈린다.

 

  Rest-API GraphQL-API
API 연습 포스트맨 Postman 플레이그라운드 Playground
API Docs 스웨거 Swagger

 

'API, Database' 카테고리의 다른 글

[GraphQL] Apollo-Client - refetchQueries  (0) 2022.01.24
    'API, Database' 카테고리의 다른 글
    • [GraphQL] Apollo-Client - refetchQueries
    쭈꾸미
    쭈꾸미
    느리지만 확실하게 / 웹 프론트엔드 개발자 TIL : https://jooeun-k.github.io/TIL/

    티스토리툴바