REST API
REST API(Representational State Transfer API)
REST 구성
- 자원(RESOURCE)을 URI로 표시
- 행위(Verb)를 HTTP METHOD로 표현
- 표현(Representations)
REST API 규칙
- URI는 정보의 자원을 표현해야 한다.
- 자원에 대한 행위는 HTTP Method(GET, POST, PUT, DELETE)로 표현한다.
GraphQL
GraphQL의 특징
- 원하는 필드만 골라서 요청
- 한번의 요청으로 여러 리소스를 받음
- 필드의 타입을 명확하게 정의
React에서의 활용
- Apollo Client
- graphql-request
(react-query / swr 등과 함께 사용하면 Apollo Client처럼 다양한 기능 활용 가능)
graphql-request
제일 많이 쓰이는 graphql 요청 방식. 요청을 보내는 기능만 가진 미니멀한 라이브러리
import { GraphQLClient, gql } from 'graphql-request'
const query = gql`{
hero {
name
}
}`
const client = new GraphQLClient('<graphql-endpoint>')
const data = await client.request(query)
Apollo Client
장점
- 강력한 기능들을 가지고 있으
- 크롬 확장 기능으로 쿼리 살펴보는 것도 가능
단점