플러그인 설정
플러그인 설정퍼시스티드 쿼리의 저수준 편집 활성화

퍼시스티드 쿼리의 저수준 편집 활성화

GraphQL에서 디렉티브는 필드의 결과를 수정할 수 있는 함수입니다. 예를 들어, @strUpperCase 디렉티브는 필드의 값을 대문자 형식으로 변환합니다.

디렉티브에는 두 가지 유형이 있습니다. 스키마에 적용되어 모든 쿼리에서 항상 실행되는 것과, 클라이언트 측에서 사용자 또는 애플리케이션에 의해 쿼리에 적용되는 것입니다.

Gato GraphQL은 스키마에 적용되는 디렉티브를 통해 많은 기능을 구현합니다. 해당 디렉티브는 어떤 사용자 인터페이스를 통해 쿼리에 추가됩니다.

예를 들어, Cache Control과 Access Control 제공이 그 예입니다. Cache Control은 스키마에 @cacheControl 디렉티브를 적용함으로써 작동하며, 플러그인이 Cache Control List 사용자 인터페이스를 통해 관리합니다.

캐시 컨트롤 정책 정의

Access Control을 제어하는 스키마 타입 디렉티브의 예시는 다음과 같습니다.

  • @disableAccess
  • @validateIsUserLoggedIn
  • @validateIsUserNotLoggedIn
  • @validateDoesLoggedInUserHaveAnyRole.
  • @validateDoesLoggedInUserHaveAnyCapability

저수준 편집 활성화

「Low-Level Persisted Query Editing」 모듈은 기본적으로 비활성화되어 있습니다. 활성화하면 퍼시스티드 쿼리를 편집할 때 스키마에 적용되는 모든 디렉티브가 GraphiQL 편집기에서 사용 가능해집니다.

스키마 타입 디렉티브

이를 통해 퍼시스티드 쿼리를 편집할 때 GraphQL 쿼리 내에서 스키마 타입 디렉티브를 직접 추가하고 사용자 인터페이스를 생략할 수 있습니다.

예를 들어, Cache Control 정의는 필드에 maxAge 인수를 가진 @cacheControl 디렉티브를 설정함으로써 퍼시스티드 쿼리 내에서 직접 수행할 수 있습니다.

퍼시스티드 쿼리 편집기에서 사용 가능한 스키마 타입 디렉티브