[nodejs] GraphQL 쿼리 언어 프래그먼트 재사용성
GraphQL을 사용하는 개발자라면 쿼리 언어의 재사용성에 관심이 있을 것입니다. 여러 쿼리에서 공통적으로 사용되는 프래그먼트를 정의하여 코드를 단순화하고 유지보수성을 높일 수 있습니다.
프래그먼트란?
프래그먼트는 GraphQL에서 여러 필드를 포함하는 재사용 가능한 코드 조각입니다. 예를 들어, 다음과 같이 사용자의 이름과 이메일 주소를 포함하는 프래그먼트를 정의할 수 있습니다.
fragment UserInfo on User {
name
email
}
위의 코드에서 UserInfo
는 프래그먼트의 이름이고, User
는 해당 프래그먼트를 적용할 타입입니다.
프래그먼트의 재사용
프래그먼트를 사용하여 중복을 줄이고 쿼리 코드를 간소화할 수 있습니다. 예를 들어, 여러 쿼리에서 동일한 프래그먼트를 사용하고 싶을 때는 프래그먼트 이름을 쿼리에 적용하면 됩니다.
query {
getUser(id: 1) {
...UserInfo
}
}
위의 코드에서 ...UserInfo
는 UserInfo
프래그먼트를 사용하여 getUser
쿼리 결과에 name
과 email
필드를 포함시킵니다.
프래그먼트 확장
때로는 특정 쿼리에 프래그먼트에 추가 필드를 포함해야할 때가 있을 것입니다. 이때는 프래그먼트를 확장하여 필요한 필드를 추가할 수 있습니다.
query {
getUser(id: 1) {
...UserInfo
bio
}
}
위의 코드에서 ...UserInfo
프래그먼트를 사용하고, 추가로 bio
필드를 포함하여 결과를 얻을 수 있습니다.
프래그먼트를 적절히 활용하면 쿼리의 재사용성과 가독성을 높일 수 있습니다.
이상으로 GraphQL의 프래그먼트 재사용성에 대해 알아보았습니다. 감사합니다.