AEM에서 GraphQL을 사용하는 방법 학습 - 샘플 컨텐츠 및 쿼리

샘플 컨텐츠 및 쿼리를 탐색하여 GraphQL과 AEM을 함께 사용하여 헤더없이 컨텐츠를 제공하는 방법을 알아봅니다.

노트

이 페이지는 다음과 함께 읽어야 합니다.

GraphQL 쿼리 및 AEM 컨텐츠 조각으로 작동하는 방식을 시작하려면 몇 가지 실용적인 예를 볼 수 있습니다.

도움이 필요하면 다음을 참조하십시오.

GraphQL - 샘플 컨텐츠 조각 구조를 사용하는 샘플 쿼리

샘플 결과와 함께 쿼리 만들기 그림에 대해서는 다음 샘플 쿼리를 참조하십시오.

노트

인스턴스에 따라 페이지에 직접 액세스할 수 있습니다. AEM GraphQL API에 포함된 GraphiQL 인터페이스 을 참조하십시오.

예를 들어,http://localhost:4502/content/graphiql.html

샘플 쿼리 - 사용 가능한 모든 스키마 및 데이터 유형

그러면 모두 반환됩니다 types 사용 가능한 모든 스키마에 대해 를 참조하십시오.

샘플 쿼리

{
  __schema {
    types {
      name
      description
    }
  }
}

샘플 결과

{
  "data": {
    "__schema": {
      "types": [
        {
          "name": "AdventureModel",
          "description": null
        },
        {
          "name": "AdventureModelArrayFilter",
          "description": null
        },
        {
          "name": "AdventureModelFilter",
          "description": null
        },
        {
          "name": "AdventureModelResult",
          "description": null
        },
        {
          "name": "AdventureModelResults",
          "description": null
        },
        {
          "name": "AllFragmentModels",
          "description": null
        },
        {
          "name": "ArchiveRef",
          "description": null
        },
        {
          "name": "ArrayMode",
          "description": null
        },
        {
          "name": "ArticleModel",
          "description": null
        },

...more results...

        {
          "name": "__EnumValue",
          "description": null
        },
        {
          "name": "__Field",
          "description": null
        },
        {
          "name": "__InputValue",
          "description": null
        },
        {
          "name": "__Schema",
          "description": "A GraphQL Introspection defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, the entry points for query, mutation, and subscription operations."
        },
        {
          "name": "__Type",
          "description": null
        },
        {
          "name": "__TypeKind",
          "description": "An enum describing what kind of type a given __Type is"
        }
      ]
    }
  }
}

샘플 쿼리 - 모든 도시에 대한 모든 정보

모든 도시에 대한 모든 정보를 검색하려면 매우 기본적인 쿼리를 사용할 수 있습니다.
샘플 쿼리

{
  cityList {
    items
  }
}

실행될 때 시스템이 모든 필드를 포함하도록 쿼리를 자동으로 확장합니다.

{
  cityList {
    items {
      _path
      name
      country
      population
    }
  }
}

샘플 결과

{
  "data": {
    "cityList": {
      "items": [
        {
          "_path": "/content/dam/sample-content-fragments/cities/basel",
          "name": "Basel",
          "country": "Switzerland",
          "population": 172258
        },
        {
          "_path": "/content/dam/sample-content-fragments/cities/berlin",
          "name": "Berlin",
          "country": "Germany",
          "population": 3669491
        },
        {
          "_path": "/content/dam/sample-content-fragments/cities/bucharest",
          "name": "Bucharest",
          "country": "Romania",
          "population": 1821000
        },
        {
          "_path": "/content/dam/sample-content-fragments/cities/san-francisco",
          "name": "San Francisco",
          "country": "USA",
          "population": 883306
        },
        {
          "_path": "/content/dam/sample-content-fragments/cities/san-jose",
          "name": "San Jose",
          "country": "USA",
          "population": 1026350
        },
        {
          "_path": "/content/dam/sample-content-fragments/cities/stuttgart",
          "name": "Stuttgart",
          "country": "Germany",
          "population": 634830
        },
        {
          "_path": "/content/dam/sample-content-fragments/cities/zurich",
          "name": "Zurich",
          "country": "Switzerland",
          "population": 415367
        }
      ]
    }
  }
}

샘플 쿼리 - 모든 도시의 이름

이는 를 반환하기 위한 간단한 쿼리입니다 name의 모든 항목 city스키마.

샘플 쿼리

query {
  cityList {
    items {
      name
    }
  }
}

샘플 결과

{
  "data": {
    "cityList": {
      "items": [
        {
          "name": "Basel"
        },
        {
          "name": "Berlin"
        },
        {
          "name": "Bucharest"
        },
        {
          "name": "San Francisco"
        },
        {
          "name": "San Jose"
        },
        {
          "name": "Stuttgart"
        },
        {
          "name": "Zurich"
        }
      ]
    }
  }
}

샘플 쿼리 - 단일 특정 도시 조각

저장소의 특정 위치에 단일 조각 항목의 세부 사항을 반환하기 위한 쿼리입니다.

샘플 쿼리

{
  cityByPath (_path: "/content/dam/sample-content-fragments/cities/berlin") {
    item {
      _path
      name
      country
      population
     categories
    }
  }
}

샘플 결과

{
  "data": {
    "cityByPath": {
      "item": {
        "_path": "/content/dam/sample-content-fragments/cities/berlin",
        "name": "Berlin",
        "country": "Germany",
        "population": 3669491,
        "categories": [
          "city:capital",
          "city:emea"
        ]
      }
    }
  }
}

샘플 쿼리 - 명명된 변형을 가진 모든 도시

새 변형을 만드는 경우, 이름이 "베를린 센터"(berlin_centre) 내의 아무 곳에나 삽입할 수 있습니다. city 그런 다음 쿼리를 사용하여 변형의 세부 정보를 반환할 수 있습니다.

샘플 쿼리

{
  cityList (variation: "berlin_center") {
    items {
      _path
      name
      country
      population
      categories
    }
  }
}

샘플 결과

{
  "data": {
    "cityList": {
      "items": [
        {
          "_path": "/content/dam/sample-content-fragments/cities/berlin",
          "name": "Berlin",
          "country": "Germany",
          "population": 3669491,
          "categories": [
            "city:capital",
            "city:emea"
          ]
        }
      ]
    }
  }
}

샘플 질의 - 회사 CEO 및 직원의 전체 상세내역

중첩된 조각의 구조를 사용하여 이 쿼리는 회사 CEO와 모든 해당 직원의 전체 세부 정보를 반환합니다.

샘플 쿼리

query {
  companyList {
    items {
      name
      ceo {
        _path
        name
        firstName
        awards {
        id
          title
        }
      }
      employees {
       name
        firstName
       awards {
         id
          title
        }
      }
    }
  }
}

샘플 결과

{
  "data": {
    "companyList": {
      "items": [
        {
          "name": "Apple Inc.",
          "ceo": {
            "_path": "/content/dam/sample-content-fragments/persons/steve-jobs",
            "name": "Jobs",
            "firstName": "Steve",
            "awards": []
          },
          "employees": [
            {
              "name": "Marsh",
              "firstName": "Duke",
              "awards": []
            },
            {
              "name": "Caulfield",
              "firstName": "Max",
              "awards": [
                {
                  "id": "GB",
                  "title": "Gameblitz"
                }
              ]
            }
          ]
        },
        {
          "name": "Little Pony, Inc.",
          "ceo": {
            "_path": "/content/dam/sample-content-fragments/persons/adam-smith",
            "name": "Smith",
            "firstName": "Adam",
            "awards": []
          },
          "employees": [
            {
              "name": "Croft",
              "firstName": "Lara",
              "awards": [
                {
                  "id": "GS",
                  "title": "Gamestar"
                }
              ]
            },
            {
              "name": "Slade",
              "firstName": "Cutter",
              "awards": [
                {
                  "id": "GB",
                  "title": "Gameblitz"
                },
                {
                  "id": "GS",
                  "title": "Gamestar"
                }
              ]
            }
          ]
        },
        {
          "name": "NextStep Inc.",
          "ceo": {
            "_path": "/content/dam/sample-content-fragments/persons/steve-jobs",
            "name": "Jobs",
            "firstName": "Steve",
            "awards": []
          },
          "employees": [
            {
              "name": "Smith",
              "firstName": "Joe",
              "awards": []
            },
            {
              "name": "Lincoln",
              "firstName": "Abraham",
              "awards": []
            }
          ]
        }
      ]
    }
  }
}

샘플 쿼리 - "Job" 또는 "Smith"라는 이름을 가진 모든 개인

모두 필터링됩니다. persons 이름이 Jobs또는 Smith.

샘플 쿼리

query {
  personList(filter: {
    name: {
      _logOp: OR
      _expressions: [
        {
          value: "Jobs"
        },
        {
          value: "Smith"
        }
      ]
    }
  }) {
    items {
      name
      firstName
    }
  }
}

샘플 결과

{
  "data": {
    "personList": {
      "items": [
        {
          "name": "Smith",
          "firstName": "Adam"
        },
        {
          "name": "Smith",
          "firstName": "Joe"
        },
        {
          "name": "Jobs",
          "firstName": "Steve"
        }
      ]
    }
  }
}

샘플 쿼리 - "Job"이라는 이름이 없는 모든 개인

모두 필터링됩니다. persons 이름이 Jobs또는 Smith.

샘플 쿼리

query {
  personList(filter: {
    name: {
      _expressions: [
        {
          value: "Jobs"
          _operator: EQUALS_NOT
        }
      ]
    }
  }) {
    items {
      name
      firstName
    }
  }
}

샘플 결과

{
  "data": {
    "personList": {
      "items": [
        {
          "name": "Lincoln",
          "firstName": "Abraham"
        },
        {
          "name": "Smith",
          "firstName": "Adam"
        },
        {
          "name": "Slade",
          "firstName": "Cutter"
        },
        {
          "name": "Marsh",
          "firstName": "Duke"
        },
        {
          "name": "Smith",
          "firstName": "Joe"
        },
        {
          "name": "Croft",
          "firstName": "Lara"
        },
        {
          "name": "Caulfield",
          "firstName": "Max"
        }
      ]
    }
  }
}

샘플 쿼리 - _path 특정 접두사로 시작하는 경우

모두 adventures 여기서 _path 특정 접두사로 시작(/content/dam/wknd/en/adventures/cycling).

샘플 쿼리

query {
  adventureList(
    filter: {
      _path: {
        _expressions: [
        {
          value: "/content/dam/wknd/en/adventures/cycling"
         _operator: STARTS_WITH
        }]
       }
    })
    {
    items {
      _path
    }
  }
}

샘플 결과

{
  "data": {
    "adventureList": {
      "items": [
        {
          "_path": "/content/dam/wknd/en/adventures/cycling-southern-utah/cycling-southern-utah"
        },
        {
          "_path": "/content/dam/wknd/en/adventures/cycling-tuscany/cycling-tuscany"
        }
      ]
    }
  }
}

샘플 쿼리 - 400000과 999999 사이의 모집단이 있는 독일 또는 스위스에 있는 모든 도시

여기서는 필드 조합이 필터링됩니다. An AND (암시적)은 population범위, OR 필요한 도시를 선택하는 데 ( 명시적 ) 이 사용됩니다.

샘플 쿼리

query {
  cityList(filter: {
    population: {
      _expressions: [
        {
          value: 400000
          _operator: GREATER_EQUAL
        }, {
          value: 1000000
          _operator: LOWER
        }
      ]
    },
    country: {
      _logOp: OR
      _expressions: [
        {
          value: "Germany"
        }, {
          value: "Switzerland"
        }
      ]
    }
  }) {
    items {
      name
      population
      country
    }
  }
}

샘플 결과

{
  "data": {
    "cityList": {
      "items": [
        {
          "name": "Stuttgart",
          "population": 634830,
          "country": "Germany"
        },
        {
          "name": "Zurich",
          "population": 415367,
          "country": "Switzerland"
        }
      ]
    }
  }
}

샘플 쿼리 - 사례에 상관없이 이름에 SAN이 있는 모든 도시

이 쿼리는 SAN 경우에 관계없이 이름으로 지정합니다.

샘플 쿼리

query {
  cityList(filter: {
    name: {
      _expressions: [
        {
          value: "SAN"
          _operator: CONTAINS
          _ignoreCase: true
        }
      ]
    }
  }) {
    items {
      name
      population
      country
    }
  }
}

샘플 결과

{
  "data": {
    "cityList": {
      "items": [
        {
          "name": "San Francisco",
          "population": 883306,
          "country": "USA"
        },
        {
          "name": "San Jose",
          "population": 1026350,
          "country": "USA"
        }
      ]
    }
  }
}

샘플 쿼리 - 한 번 이상 발생해야 하는 항목이 있는 배열에 필터링

이 쿼리는 항목이 있는 배열에서 필터링합니다(city:na)에 대해 최소 한 번 이상 표시되어야 합니다.

샘플 쿼리

query {
  cityList(filter: {
    categories: {
      _expressions: [
        {
          value: "city:na"
          _apply: AT_LEAST_ONCE
        }
      ]
    }
  }) {
    items {
      name
      population
      country
      categories
    }
  }
}

샘플 결과

{
  "data": {
    "cityList": {
      "items": [
        {
          "name": "San Francisco",
          "population": 883306,
          "country": "USA",
          "categories": [
            "city:beach",
            "city:na"
          ]
        },
        {
          "name": "San Jose",
          "population": 1026350,
          "country": "USA",
          "categories": [
            "city:na"
          ]
        }
      ]
    }
  }
}

샘플 쿼리 - 정확한 배열 값으로 필터링

이 쿼리는 정확한 배열 값을 필터링합니다.

샘플 쿼리

query {
  cityList(filter: {
    categories: {
      _expressions: [
        {
          values: [
            "city:beach",
            "city:na"
          ]
        }
      ]
    }
  }) {
    items {
      name
      population
      country
      categories
    }
  }
}

샘플 결과

{
  "data": {
    "cityList": {
      "items": [
        {
          "name": "San Francisco",
          "population": 883306,
          "country": "USA",
          "categories": [
            "city:beach",
            "city:na"
          ]
        }
      ]
    }
  }
}

중첩된 컨텐츠 조각에 대한 샘플 쿼리 - "Smith"라는 이름을 가진 직원이 하나 이상 있는 모든 회사입니다

이 쿼리는 personname "Smith", 두 중첩 조각에서 정보를 반환합니다. companyemployee.

샘플 쿼리

query {
  companyList(filter: {
    employees: {
      _match: {
        name: {
          _expressions: [
            {
              value: "Smith"
            }
          ]
        }
      }
    }
  }) {
    items {
      name
      ceo {
        name
        firstName
      }
      employees {
        name
        firstName
      }
    }
  }
}

샘플 결과

{
  "data": {
    "companyList": {
      "items": [
        {
          "name": "NextStep Inc.",
          "ceo": {
            "name": "Jobs",
            "firstName": "Steve"
          },
          "employees": [
            {
              "name": "Smith",
              "firstName": "Joe"
            },
            {
              "name": "Lincoln",
              "firstName": "Abraham"
            }
          ]
        }
      ]
    }
  }
}

중첩된 컨텐츠 조각에 대한 샘플 쿼리 - 모든 직원이 "Gamestar" 상을 수상한 모든 회사

이 쿼리는 세 개의 중첩된 조각에 대한 필터링을 보여줍니다. company, employee, 및 award.

샘플 쿼리

query {
  companyList(filter: {
    employees: {
      _apply: ALL
      _match: {
        awards: {
          _match: {
            id: {
              _expressions: [
                {
                  value: "GS"
                  _operator:EQUALS
                }
              ]
            }
          }
        }
      }
    }
  }) {
    items {
      name
      ceo {
        name
        firstName
      }
      employees {
        name
        firstName
        awards {
          id
          title
        }
      }
    }
  }
}

샘플 결과

{
  "data": {
    "companyList": {
      "items": [
        {
          "name": "Little Pony, Inc.",
          "ceo": {
            "name": "Smith",
            "firstName": "Adam"
          },
          "employees": [
            {
              "name": "Croft",
              "firstName": "Lara",
              "awards": [
                {
                  "id": "GS",
                  "title": "Gamestar"
                }
              ]
            },
            {
              "name": "Slade",
              "firstName": "Cutter",
              "awards": [
                {
                  "id": "GB",
                  "title": "Gameblitz"
                },
                {
                  "id": "GS",
                  "title": "Gamestar"
                }
              ]
            }
          ]
        }
      ]
    }
  }
}

메타데이터에 대한 샘플 쿼리 - GB라는 이름의 시상식에 대한 메타데이터 나열

이 쿼리는 세 개의 중첩된 조각에 대한 필터링을 보여줍니다. company, employee, 및 award.

샘플 쿼리

query {
  awardList(filter: {
      id: {
        _expressions: [
          {
            value:"GB"
          }
        ]
    }
  }) {
    items {
      _metadata {
        stringMetadata {
          name,
          value
        }
      }
      id
      title
    }
  }
}

샘플 결과

{
  "data": {
    "awardList": {
      "items": [
        {
          "_metadata": {
            "stringMetadata": [
              {
                "name": "title",
                "value": "Gameblitz Award"
              },
              {
                "name": "description",
                "value": ""
              }
            ]
          },
          "id": "GB",
          "title": "Gameblitz"
        }
      ]
    }
  }
}

WKND 프로젝트를 사용하는 샘플 쿼리

이러한 샘플 쿼리는 WKND 프로젝트를 기반으로 합니다. 여기에는 다음 항목이 있습니다.

  • 컨텐츠 조각 모델은 다음 위치에서 사용할 수 있습니다.
    http://<hostname>:<port>/libs/dam/cfm/models/console/content/models.html/conf/wknd

  • 컨텐츠 조각(및 기타 컨텐츠)은 다음 위치에서 사용할 수 있습니다.
    http://<hostname>:<port>/assets.html/content/dam/wknd/en

노트

결과가 광범위할 수 있으므로 그들은 이곳에서 재생되지 않는다.

지정된 속성을 사용하여 특정 모델의 모든 컨텐츠 조각에 대한 샘플 쿼리

이 샘플 쿼리 인터페이스:

  • 모든 컨텐츠 조각 유형 article
  • 사용 pathauthor 속성을 사용합니다.

샘플 쿼리

{
  articleList {
    items {
      _path
      author
    }
  }
}

메타데이터에 대한 샘플 쿼리

이 쿼리 상호 작용:

  • 모든 컨텐츠 조각 유형 adventure
  • 메타데이터

샘플 쿼리

{
  adventureList {
    items {
      _path,
      _metadata {
        stringMetadata {
          name,
          value
        }
        stringArrayMetadata {
          name,
          value
        }
        intMetadata {
          name,
          value
        }
        intArrayMetadata {
          name,
          value
        }
        floatMetadata {
          name,
          value
        }
        floatArrayMetadata {
          name,
          value
        }
        booleanMetadata {
          name,
          value
        }
        booleanArrayMetadata {
          name,
          value
        }
        calendarMetadata {
          name,
          value
        }
        calendarArrayMetadata {
          name,
          value
        }
      }
    }
  }
}

주어진 모델의 단일 컨텐츠 조각에 대한 샘플 쿼리

이 샘플 쿼리 인터페이스:

  • 단일 컨텐츠 조각 유형의 경우 article 특정 경로에서
    • 컨텐츠 내의 모든 형식은 다음과 같습니다.
      • HTML
      • Markdown
      • 일반 텍스트
      • JSON

샘플 쿼리

{
  articleByPath (_path: "/content/dam/wknd/en/magazine/alaska-adventure/alaskan-adventures") {
    item {
        _path
        author
        main {
          html
          markdown
          plaintext
          json
        }
    }
  }
}

모델의 컨텐츠 조각 모델에 대한 샘플 쿼리

이 샘플 쿼리 인터페이스:

  • 단일 컨텐츠 조각용
    • 기본 컨텐츠 조각 모델의 세부 사항

샘플 쿼리

{
  adventureByPath(_path: "/content/dam/wknd/en/adventures/riverside-camping-australia/riverside-camping-australia") {
    item {
      _path
      adventureTitle
      _model {
        _path
        title
      }
    }
  }
}

중첩 컨텐츠 조각에 대한 샘플 쿼리 - 단일 모델 유형

이 쿼리 상호 작용:

  • 단일 컨텐츠 조각 유형의 경우 article 특정 경로에서
    • 내에서 참조된(중첩된) 조각의 경로 및 작성자입니다
노트

필드 referencearticle 에는 데이터 유형이 있습니다 fragment-reference.

샘플 쿼리

{
  articleByPath (_path: "/content/dam/wknd/en/magazine/skitouring/skitouring") {
    item {
        _path
        author
        referencearticle {
          _path
          author
      }
    }
  }
}

중첩 컨텐츠 조각에 대한 샘플 쿼리 - 여러 모델 유형

이 쿼리 상호 작용:

  • 여러 컨텐츠 조각 유형 bookmark
    • 조각 참조 를 사용하여 특정 모델 유형의 다른 조각에 대한 참조 articleadventure
노트

필드 fragments 에는 데이터 유형이 있습니다 fragment-reference, 모델 사용 Article, Adventure 선택됨.

{
  bookmarkList {
    items {
        fragments {
          ... on ArticleModel {
            _path
            author
          }
          ... on AdventureModel {
            _path
            adventureTitle
          }
        }
     }
  }
}

컨텐츠 참조가 있는 특정 모델의 컨텐츠 조각에 대한 샘플 쿼리

이 쿼리에는 두 가지 맛이 있습니다.

  1. 모든 컨텐츠 참조를 반환하려면 다음을 수행하십시오.
  2. 유형의 특정 컨텐츠 참조를 반환하려면 attachments.

다음 쿼리는 다음과 같이 질문합니다.

  • 여러 컨텐츠 조각 유형 bookmark
    • 다른 조각에 대한 컨텐츠 참조 사용

프리페치된 참조가 있는 여러 컨텐츠 조각에 대한 샘플 쿼리

다음 쿼리는 _references:

{
  bookmarkList {
     _references {
         ... on ImageRef {
          _path
          type
          height
        }
        ... on MultimediaRef {
          _path
          type
          size
        }
        ... on DocumentRef {
          _path
          type
          author
        }
        ... on ArchiveRef {
          _path
          type
          format
        }
    }
    items {
        _path
    }
  }
}

첨부 파일이 있는 여러 컨텐츠 조각에 대한 샘플 쿼리

다음 쿼리는 모두 반환합니다 attachments - 유형의 특정 필드(하위 그룹) content-reference:

노트

필드 attachments 에는 데이터 유형이 있습니다 content-reference다양한 양식이 선택되어 있을 때

{
  bookmarkList {
    items {
      attachments {
        ... on PageRef {
          _path
          type
        }
        ... on ImageRef {
          _path
          width
        }
        ... on MultimediaRef {
          _path
          size
        }
        ... on DocumentRef {
          _path
          author
        }
        ... on ArchiveRef {
          _path
          format
        }
      }
    }
  }
}

RTE 인라인 참조가 있는 단일 컨텐츠 조각에 대한 샘플 쿼리

이 쿼리 상호 작용:

  • 단일 컨텐츠 조각 유형의 경우 bookmark 특정 경로에서
    • 내에서 RTE 인라인 참조
노트

RTE 인라인 참조는 _references.

샘플 쿼리

{
  bookmarkByPath(_path: "/content/dam/wknd/en/bookmarks/skitouring") {
    item {
      _path
      description {
        json
      }
    }
    _references {
      ... on ArticleModel {
        _path
      }
      ... on AdventureModel {
        _path
      }
      ... on ImageRef {
        _path
      }
      ... on MultimediaRef {
        _path
      }
      ... on DocumentRef {
        _path
      }
      ... on ArchiveRef {
        _path
      }
    }
  }
}

주어진 모델의 단일 컨텐츠 조각 변형에 대한 샘플 쿼리

이 쿼리 상호 작용:

  • 단일 컨텐츠 조각 유형의 경우 article 특정 경로에서
    • 그 내에서 변형과 관련된 데이터는 다음과 같습니다. variation1

샘플 쿼리

{
  articleByPath (_path: "/content/dam/wknd/en/magazine/alaska-adventure/alaskan-adventures", variation: "variation1") {
    item {
      _path
      author
      main {
        html
        markdown
        plaintext
        json
      }
    }
  }
}

지정된 모델의 여러 컨텐츠 조각의 명명된 변형에 대한 샘플 쿼리

이 쿼리 상호 작용:

  • 컨텐츠 조각 유형의 경우 article 특정 변형 사용: variation1

샘플 쿼리

{
  articleList (variation: "variation1") {
    items {
      _path
      author
      main {
        html
        markdown
        plaintext
        json
      }
    }
  }
}

지정된 로케일의 여러 컨텐츠 조각에 대한 샘플 쿼리

이 쿼리 상호 작용:

  • 컨텐츠 조각 유형의 경우 articlefr 로케일

샘플 쿼리

{
  articleList (_locale: "fr") {
    items {
      _path
      author
      main {
        html
        markdown
        plaintext
        json
      }
    }
  }
}

샘플 컨텐츠 조각 구조(GraphQL에서 사용됨)

샘플 쿼리는 을 사용하는 다음 구조를 기반으로 합니다.

샘플 컨텐츠 조각 모델(스키마)

샘플 쿼리는 다음 컨텐츠 모델 및 상호 관계(참조 ->)를 사용합니다.

회사

회사를 정의하는 기본 필드는 다음과 같습니다.

필드 이름 데이터 유형 참조
회사 이름 한 줄 텍스트
CEO 조각 참조(단일) 개인
직원 조각 참조(multifield) 개인

개인

개인을 정의하는 필드이며 사원이 될 수도 있습니다.

필드 이름 데이터 유형 참조
이름 한 줄 텍스트
이름 한 줄 텍스트
수상 조각 참조(multifield) 수상

수상

포상을 정의하는 필드는 다음과 같습니다.

필드 이름 데이터 유형 참조
바로 가기/ID 한 줄 텍스트
제목 한 줄 텍스트

도시

도시를 정의하는 필드는 다음과 같습니다.

필드 이름 데이터 유형 참조
이름 한 줄 텍스트
국가 한 줄 텍스트
모집단 번호
카테고리 태그

샘플 컨텐츠 조각

다음 조각은 해당 모델에 사용됩니다.

회사

회사 이름 CEO 직원
Apple 스티브 잡스 듀크 마시
맥스 콜필드
리틀 포니 아담 스미스 라라 크로프트
커터 슬래드
NextStep Inc. 스티브 잡스 조 스미스
에이브 링컨

개인

이름 이름 수상
링컨 아베
스미스 Adam
슬래드 커터 게임블리츠
가메스타르
마시 듀크
스미스
크로프트 라라 가메스타르
콜필드 최대 게임블리츠
작업 스티브

수상

바로 가기/ID 제목
GB 게임블리츠
GS 가메스타르
OSC 오스카

도시

이름 국가 모집단 카테고리
Basel 스위스 172258 city:emea
베를린 독일 3669491 city:capital
city:emea
부카레스트 루마니아 1821000 city:capital
city:emea
San Francisco 미국 883306 city:beach
city:na
산 호세 미국 102635 city:na
슈투트가르트 독일 634830 city:emea
취리히 스위스 415367 city:capital
city:emea

이 페이지에서는