Frontend/Nest.js

GraphQL 스키마에서 enum 타입을 정의할 때 사용, registerEnumType

wam 2024. 7. 29. 22:32

 

import { registerEnumType } from '@nestjs/graphql';

enum UserRole {
  ADMIN = 'ADMIN',
  USER = 'USER',
  GUEST = 'GUEST',
}

registerEnumType(UserRole, {
  name: 'UserRole', // GraphQL 스키마에서의 이름
  description: 'User roles in the system', // 선택적 설명
});

 

  • registerEnumType은 GraphQL 스키마에서 enum 타입을 정의할 때 사용된다.
  • 이를 통해 GraphQL API에서 사용할 수 있는 열거형 타입을 등록하고 설명을 추가할 수 있다.
  • 이 예제에서 UserRole은 ADMIN, USER, GUEST 값을 가지는 열거형(enum) 타입이다.
  • registerEnumType 함수는 이 enum을 GraphQL 스키마에 등록하고, 클라이언트가 사용 가능한 값들을 명시해준다.
  • 이렇게 하면 클라이언트는 열거형의 유효한 값들만 사용 가능하다.
  • GraphQL 문서화 도구에서도 해당 enum 타입이 자동으로 문서화된다.