커스텀 엔드포인트
커스텀 엔드포인트커스텀 엔드포인트

커스텀 엔드포인트

Included in the “Power Extensions” bundle

커스텀 스키마를 생성하고, 서로 다른 사용자에 대한 커스텀 접근 규칙을 설정하여, 각각 전용 엔드포인트로 공개할 수 있습니다.

설명

GraphQL 서버는 일반적으로 데이터 조회 및 전송을 위한 단일 엔드포인트를 공개합니다.

단일 엔드포인트 지원에 더해, Gato GraphQL은 커스텀 엔드포인트 생성도 가능하게 합니다. 이를 통해 다음과 같은 다양한 대상의 요구 사항을 처리하기 위한 서로 다른 스키마 구성을 제공할 수 있습니다.

  • 특정 클라이언트 또는 사용자
  • 더 많은 기능에 접근 가능한 사용자 그룹 (예: PRO 사용자)
  • 모바일 앱이나 웹사이트와 같은 여러 애플리케이션 중 하나
  • 서드파티 API
  • 기타

커스텀 엔드포인트는 커스텀 포스트 타입(Custom Post Type)이며, 퍼머링크가 엔드포인트가 됩니다. 제목이 "My endpoint", 슬러그가 my-endpoint인 엔드포인트는 /graphql/my-endpoint/에서 접근할 수 있습니다.

커스텀 엔드포인트 편집기

클라이언트

각 커스텀 엔드포인트에는 상호작용을 위한 전용 클라이언트 세트가 있습니다.

GraphiQL 클라이언트: 엔드포인트 + ?view=graphiql로 접근 가능합니다 (예: /graphql/my-endpoint/?view=graphiql).

모듈 GraphiQL for Custom Endpoints를 활성화해야 합니다.

커스텀 엔드포인트의 GraphiQL 클라이언트

인터랙티브 스키마 클라이언트: 엔드포인트 + ?view=schema로 접근 가능합니다 (예: /graphql/my-endpoint/?view=schema).

모듈 Interactive Schema for Custom Endpoints를 활성화해야 합니다.

커스텀 엔드포인트의 인터랙티브 스키마

커스텀 엔드포인트 만들기

메뉴에서 「커스텀 엔드포인트」 링크를 클릭하면 생성된 모든 커스텀 엔드포인트 목록이 표시됩니다.

관리 화면의 커스텀 엔드포인트
관리 화면의 커스텀 엔드포인트

커스텀 엔드포인트는 커스텀 포스트 타입(CPT)입니다. 새 커스텀 엔드포인트를 만들려면 「새 GraphQL 엔드포인트 추가」 버튼을 클릭하면 WordPress 편집기가 열립니다.

새 커스텀 엔드포인트 만들기

커스텀 엔드포인트가 준비되면 게시하면, 해당 퍼머링크가 엔드포인트 URL이 됩니다. 엔드포인트(및 소스와 클라이언트)로의 링크는 「커스텀 엔드포인트 개요」 사이드바 패널에 표시됩니다.

커스텀 엔드포인트 개요

퍼머링크에 ?view=source를 추가하면 엔드포인트 구성이 표시됩니다 (사용자가 로그인되어 있고 해당 사용자 역할에 접근 권한이 있는 경우에 한합니다).

커스텀 엔드포인트 소스

기본적으로 커스텀 엔드포인트의 경로는 /graphql/이며, 이 값은 설정 화면에서 변경할 수 있습니다.

커스텀 엔드포인트 설정
커스텀 엔드포인트 설정

스키마 구성

스키마에 포함되는 요소와 사용자가 스키마에 접근할 수 있는 범위는 스키마 구성에서 정의됩니다.

따라서 스키마 구성을 만든 후 드롭다운에서 선택해야 합니다.

스키마 구성 선택

커스텀 엔드포인트의 카테고리 분류

사이드바 패널 「엔드포인트 카테고리」에서 커스텀 엔드포인트 관리에 도움이 되는 카테고리를 추가할 수 있습니다.

커스텀 엔드포인트 편집 시의 엔드포인트 카테고리

예를 들어, 클라이언트, 애플리케이션 또는 기타 필요한 정보별로 엔드포인트를 관리하는 카테고리를 만들 수 있습니다.

엔드포인트 카테고리 목록

커스텀 엔드포인트 목록에서 각 카테고리를 확인할 수 있으며, 카테고리 링크를 클릭하거나 상단의 필터를 사용하면 해당 카테고리의 항목만 표시됩니다.

카테고리가 있는 커스텀 엔드포인트 목록

카테고리로 커스텀 엔드포인트 필터링

비공개 엔드포인트

커스텀 엔드포인트의 상태를 private으로 설정하면, 해당 엔드포인트는 관리자 사용자만 접근할 수 있게 됩니다. 이를 통해 접근 권한이 없는 사용자에게 데이터가 의도치 않게 공유되는 것을 방지합니다.

예를 들어, 지표를 활용해 보고서를 생성하기 위한 데이터 조회 등 애플리케이션 관리에 도움이 되는 비공개 커스텀 엔드포인트를 만들 수 있습니다.

비공개 커스텀 엔드포인트

비밀번호로 보호된 엔드포인트

특정 클라이언트를 위한 커스텀 엔드포인트를 만드는 경우, 비밀번호를 지정할 수 있습니다. 이를 통해 해당 클라이언트만 엔드포인트에 접근할 수 있는 추가적인 보안 레이어를 제공합니다.

비밀번호로 보호된 커스텀 엔드포인트

비밀번호로 보호된 엔드포인트에 처음 접근할 때 (엔드포인트에 직접 접근하거나, GraphiQL 또는 Interactive Schema 클라이언트에 접근하는 경우), 비밀번호를 요구하는 화면이 표시됩니다.

비밀번호로 보호된 커스텀 엔드포인트: 첫 번째 접근

비밀번호가 입력되고 검증되면, 그때서야 사용자는 의도한 엔드포인트 또는 클라이언트에 접근할 수 있습니다.

비밀번호로 보호된 커스텀 엔드포인트: 인증 후