본문 바로가기
Dev

GraphQL 공부1

by memory-log 2020. 10. 2.

GraphQL

그래프큐엘

API를 위한 쿼리 언어이다.

 

주요특징

  • API를 위한 쿼리 언어이며 이미 존재하는 데이터로 쿼리를 수행하기 위한 런타임
  • API에 있는 데이터에 대한 완벽하고 이해하기 쉬운 설명을 제공
  • 클라이언트에게 필요한 것을 정확하게 요청할 수 있는 기능을 제공
  • 시간이 지남에 따라 API를 쉽게 진화시키고 강력한 개발자 도구를 지원
type Query {
  me: User
}

type User {
  id: ID
  name: String
}
function Query_me(request) {
  return request.auth.user;
}

function User_name(user) {
  return user.getName();
}

쿼리 예제

{
  me {
    name
  }
}
{
  "me": {
    "name": "Luke Skywalker"
  }
}

JSON 형태로 결과를 얻을 수 있다.

 

필요한 것만 정확히

API에 GraphQL 쿼리를 보내고 필요한 것만 정확히 얻을 수 있다.

GraphQL 쿼리는 항상 예측 가능한 결과를 반환한다.

서버가 아닌 데이터를 제어하기 때문에 빠르며 안정적이다.

 

단일 요청으로 많은 데이터 얻기 

GraphQL 쿼리는 하나의 리소스 속성에 액세스할 뿐만 아니라 이 리소스 간의 자연스러운 참조

일반적인 REST API는 여러 URL에서 데이터를 받아와야 하지만 GraphQL API는 한번의 요청으로 앱에 필요한 모든 데이터를 가져온다. GraphQL을 사용하는 앱은 느린 모바일 네트워크 연결에서도 빠르게 수행할 수 있다.

 

타입 시스템으로 가능한 것

GraphQL API는 엔드포인트가 아닌 타입과 필드로 구성된다.

GraphQL은 타입 시스템을 사용하여 앱이 가능한 것을 요청하고 명확하고 유용한 오류를 제공하는 것을 보장한다.

앱은 타입을 사용하여 수동 파싱 코드 작성을 피할 수 있다.

'Dev' 카테고리의 다른 글

PWA 프로그레시브 웹앱의 장단점  (0) 2020.10.18
리액트 네이티브 장점 단점  (0) 2020.10.10
Deno 디노  (0) 2020.10.01
canvas tutorial 1  (0) 2020.09.26
GET & POST 메서드  (0) 2020.09.23

댓글