[nodejs] GraphQL 쿼리 언어 명명된 프래그먼트 활용

GraphQL은 API를 쉽게 쿼리할 수 있는 강력하고 유연한 쿼리 언어입니다. 명명된 프래그먼트(named fragments)는 쿼리를 더 효율적으로 작성하고 유지보수하기 쉽도록 도와줍니다.

프래그먼트란 무엇인가요?

프래그먼트는 GraphQL에서 쿼리를 구성하기 위해 사용되는 재사용 가능한 조각입니다. 이를 사용하면 반복적으로 사용되는 필드 집합을 단일 위치에서 정의하여 쿼리를 간결하게 유지할 수 있습니다.

명명된 프래그먼트 사용법

GraphQL에서 명명된 프래그먼트를 사용하려면 먼저 fragment 키워드를 사용하여 프래그먼트를 정의해야 합니다. 그리고 나서 명명된 프래그먼트를 사용하고자 하는 위치에서 ...프래그먼트이름을 삽입합니다.

예를 들어, 아래와 같이 userDetails라는 명명된 프래그먼트를 정의하고 사용할 수 있습니다.

fragment userDetails on User {
  id
  name
  email
}

이제 이 명명된 프래그먼트를 사용하여 쿼리를 작성할 수 있습니다.

query {
  getUser(id: 123) {
    ...userDetails
  }
}

위 쿼리에서 getUser 필드 안에서 userDetails 프래그먼트를 사용하여 중복되는 필드 선언을 피할 수 있습니다.

명명된 프래그먼트를 사용하면 쿼리가 중복되는 부분을 감소시켜서 코드의 가독성을 향상시키고, 유지보수를 보다 쉽게 만듭니다.

결론

GraphQL의 명명된 프래그먼트는 쿼리 작성을 더욱 쉽고 간결하게 만들어주는 강력한 도구입니다. 재사용 가능한 쿼리 부분을 추출하여 프래그먼트로 정의하고 그것을 여러 곳에서 쉽게 재사용할 수 있다는 점이 매우 효율적입니다.

참고문헌: