정의

GraphQL은 **Facebook에서 개발한 쿼리 언어**입니다.

→ GraphQL는 개발자들이 REST API를 다루면서 경험하는 많은 단점과 비효율성을 해결해줌.


특징

사용 시의 장점?

1. 클라이언트가 필요한 데이터를 정확히 지정할 수 있음

REST API를 사용하면 백엔드(이하 BE)가 URL의 각 리소스에 사용할 수있는 데이터를 정의하는 반면, FE는 리소스의 일부만 필요하더라도 항상 리소스의 모든 정보를 요청해야합니다. GraphQL을 사용하면 더도 말고 덜도 말고 딱 필요한 특정 데이터만 받아올 수 있습니다.

2. Data Fetching의 편리함

GraphQL을 사용하면 단일 쿼리에 구체적인 데이터 요구 사항을 적어 GraphQL 서버에 보내기만 하면 됩니다. 그럼 서버는 이러한 요구 사항에 맞게 JSON 객체를 보내줍니다.

query {
  user(id: "fsdf23"){
      name
      status
      posts{
       title
       body
      }
    friends{
       name
     }
  }
}