GraphQL은 API를 쿼리하고 더 효율적으로 데이터를 가져오는 강력한 쿼리 언어입니다. 이 문서에서는 GraphQL의 기본 쿼리 구문과 사용법을 살펴봅니다.
쿼리 기본 구조
GraphQL 쿼리는 중괄호 {}
내에 필드와 인수를 지정하여 작성됩니다. 기본적인 쿼리 구조는 아래와 같습니다.
{
field1
field2 {
subfield1
subfield2
}
}
위의 코드에서 field1
과 field2
는 원하는 데이터 필드를 나타내며, 중괄호 내에 중첩된 구조로 표현됩니다.
필드 및 인수
GraphQL 쿼리에서는 필드와 필드에 대한 인수를 지정할 수 있습니다. 필드는 가져오고자 하는 데이터를 지정하며, 인수는 필드의 조건을 지정하는데 사용됩니다.
{
user(id: 123) {
name
email
}
}
위의 예제에서 user
필드는 id
인수를 받아 해당하는 사용자의 name
과 email
을 가져옵니다.
별칭 사용
GraphQL에서는 필드에 별칭을 지정하여 결과를 다른 이름으로 가져올 수 있습니다. 이를 통해 쿼리 결과를 보다 의미있는 이름으로 지정할 수 있습니다.
{
myName: user(id: 123) {
fullName: name
emailAddress: email
}
}
위의 예제에서 myName
과 fullName
, emailAddress
은 필드에 대한 별칭을 나타냅니다.
프래그먼트 사용
GraphQL에서는 반복적으로 사용되는 필드 집합에 대한 프래그먼트를 사용하여 쿼리를 간결하게 작성할 수 있습니다.
query UserProfile {
user(id: 123) {
...userFields
}
}
fragment userFields on User {
name
email
}
위의 예제에서 fragment
키워드를 사용하여 userFields
프래그먼트를 정의하고, ...
연산자를 통해 해당 프래그먼트를 쿼리에 적용합니다.
이를 통해 GraphQL 쿼리 언어의 기본 문법과 사용법에 대해 알아보았습니다. GraphQL을 사용함으로써 더 효율적으로 데이터를 가져올 수 있고, 필요한 정보만을 쿼리하여 불필요한 데이터 전송을 줄일 수 있습니다.
더 자세한 내용은 GraphQL 공식 문서를 참고할 수 있습니다.
References: