[nodejs] GraphQL 쿼리 언어 특정 필드 선택
GraphQL은 클라이언트가 서버로 요청한 데이터의 구조를 정확하게 정의할 수 있는 강력한 쿼리 언어입니다. 이것은 클라이언트가 서버에서 반환받기를 원하는 필드를 정확하게 명시할 수 있게 도와줍니다.
필드 선택
보통 REST API에서는 엔드포인트 하나에 대해 모든 필드 값을 반환받는 경우가 많습니다. 그러나 GraphQL에서는 클라이언트가 필요로 하는 필드만 선택하여 요청할 수 있습니다.
query {
user(id: "1") {
name
email
}
}
위의 쿼리에서 name
과 email
필드만 선택하여 특정 사용자 정보를 요청하고 있습니다.
별칭(alias)
GraphQL에서 별칭(alias)은 서버 응답에서 필드의 이름을 변경하는 방법입니다.
query {
firstUser: user(id: "1") {
name
email
}
secondUser: user(id: "2") {
name
email
}
}
위의 쿼리에서 firstUser
와 secondUser
는 서버 응답에서 사용자 정보를 구분짓기 위한 별칭입니다.
인라인 프래그먼트 (inline fragments)
GraphQL 쿼리에서 특정 유형에 따라 필드를 선택하기 위해 인라인 프래그먼트를 사용할 수 있습니다.
query {
user(id: "1") {
name
... on StandardUser {
age
}
... on PremiumUser {
subscriptionEndDate
}
}
}
위의 쿼리에서 StandardUser
와 PremiumUser
타입에 따라 다른 필드를 선택하고 있습니다.
GraphQL을 사용하면 클라이언트는 필요한 데이터만을 선택하여 요청하고, 서버는 정확하게 그 필드만을 응답할 수 있어서 효율적이고 유연한 데이터 통신을 가능케 합니다.
더 자세한 내용은 GraphQL 공식 문서를 확인할 수 있습니다.