Docs Menu
Docs Home
/ /
Atlas App Services

GraphQL 구성 파일

이 페이지의 내용

  • 서비스 구성
  • 사용자 지정 리졸버 구성

참고

이 페이지에서는 레거시 구성 파일 형식에 대해 설명합니다. 이 정보는 더 이상 사용되지 않는 realm-cli 을 사용하는 경우에만 사용해야 합니다.

App Services CLI로 가져오거나 UI에서 내보내는 모든 구성 파일은 최신 구성 버전을 사용합니다. 현재 구성 파일 형식에 대한 자세한 내용은 앱 구성을 참조하세요.

graphql 디렉토리에서 애플리케이션에 대한 GraphQL API 를 구성할 수 있습니다.

app/
└── graphql/
├── config.json
└── custom_resolvers
└── <resolver name>.json
graphql/config.json
{
"use_natural_pluralization": <Boolean>,
"disable_schema_introspection": <Boolean>
}
필드
설명
use_natural_pluralization
Boolean

true 기본적으로 새 앱에 적용됩니다.

Admin API 엔드포인트를 사용 앱 새 앱을 만들고 속성 을 요청 본문에 전달하는 경우에만 값을 false 로 설정하다 수 있습니다. 앱 이 생성된 후에는 이 값을 false 으)로 변경할 수 없습니다.

true인 경우 생성된 스키마 유형 이름은 가능할 때마다 일반적인 영어 복수형을 사용합니다.

false인 경우 또는 자연 복수형을 결정할 수 없는 경우 복수 유형은 끝에 "s"가 추가된 단수 유형 이름을 사용합니다.

예시

App Services는 생성된 "마우스" 유형에 대해 자연 복수형 또는 기본 복수형을 사용할 수 있습니다.

  • 내추럴: "mice"

  • 기본값: "마우스"

disable_schema_introspection
Boolean

새 앱의 경우 기본적으로 이 값은 false 입니다.

true인 경우 GraphQL API는 인트로스펙션 쿼리 를 차단합니다. 확인합니다.

이 설정은 GraphQL 스키마를 대중에게 노출하고 싶지 않은 프로덕션 앱에 유용합니다. 인트로스펙션이 비활성화되면 GraphiQL과 같은 클라이언트는 API 스키마 또는 자동 완성 쿼리 및 변형에 대한 문서를 표시할 수 없습니다.

graphql/custom_resolvers/<resolver name>.json
{
"on_type": "<Parent Type Name>",
"field_name": "<Resolver Field Name>",
"function_name": "<Resolver Function Name>",
"input_type": "<Input Type Name>" | { <JSON Schema> },
"input_type_format": "<Input Type Format>",
"payload_type": "<Payload Type Name>" | { <JSON Schema> },
"payload_type_format": "<Payload Type Format>",
}
필드
설명
on_type
String

사용자 지정 해석기를 해당 필드 중 하나로 노출하는 상위 유형입니다.

유효한 옵션은 다음과 같습니다.

field_name
String

사용자 지정 해석기를 노출하는 상위 유형의 필드 이름입니다. 필드 이름은 상위 유형의 모든 사용자 지정 해석기 중에서 고유해야 합니다.

필드 이름이 상위 유형의 스키마에 있는 필드와 일치하는 경우 사용자 지정 해석기가 스키마 유형을 재정의합니다.

function_name
String
해석기가 호출될 때 실행되는 함수 의 이름입니다. 함수 인수는 단일 인수( input_typeinput_type_format 로 구성)를 허용할 수 있으며 페이로드 값( payload_typepayload_type_format 로 구성)을 반환해야 합니다.
input_type
String | JSON Schema
해석기의 input 인수 유형(입력을 허용하는 경우)입니다. GraphQL 스키마에서 다른 유형의 이름을 지정하거나 리졸버와 관련된 사용자 지정 JSON 스키마를 지정할 수 있습니다.
input_type_format
String

input_type 의 메타데이터 설명입니다.

유효한 옵션은 다음과 같습니다.

  • "scalar" (특정 BSON 유형의 단일 값의 경우)

  • "scalar-list" (특정 BSON type의 여러 값의 경우)

  • "generated" ( 노출된 특정 유형의 단일 값의 경우)

  • "generated-list" ( 노출된 특정 유형의 여러 값에 해당)

  • "custom" (사용자 지정 JSON schema의 경우)

payload_type
String | JSON Schema

리졸버의 페이로드에서 반환되는 값의 유형입니다. 당신은 GraphQL 스키마에서 다른 유형의 이름을 지정하거나 리졸버와 관련된 사용자 지정 JSON schema를 지정할 수 있습니다.

페이로드 유형을 지정하지 않으면 리졸버는 DefaultPayload 객체를 반환합니다.

type DefaultPayload {
status: String!
}
payload_type_format
String

payload_type 의 메타데이터 설명입니다.

유효한 옵션은 다음과 같습니다.

  • "scalar" (특정 BSON 유형의 단일 값의 경우)

  • "scalar-list" (특정 BSON type의 여러 값의 경우)

  • "generated" ( 노출된 특정 유형의 단일 값의 경우)

  • "generated-list" ( 노출된 특정 유형의 여러 값에 해당)

  • "custom" (사용자 지정 JSON schema의 경우)

다음

Atlas Application Services란 무엇인가요?