簡體   English   中英

獲取不支持的令牌`on` [GraphQL]

[英]Getting Unsupported token `on` [GraphQL]

問題:我們在查詢中轉到“on”,而 build apollo 抱怨查詢中的 on 關鍵字 (*.graphql)

GraphQL 查詢:

query TimeLine($inputData: InputData!) {
    getTimeLine(inputData: $inputData) {
        on
        updated
 }
}

錯誤:不支持on令牌(com.apollographql.apollo.compiler.parser.GraphQLDocumentParseException)。

環境:Kotlin,apolloGraphQLVersion:“1.3.2”

這是因為on關鍵字是 GraphQL 中的保留關鍵字。

類型條件之一是on NamedType 上,請參閱 GraphQL的官方規范文件

query FragmentTyping {
  profiles(handles: ["zuck", "cocacola"]) {
    handle
    ...userFragment
    ...pageFragment
  }
}

fragment userFragment on User {
  friends {
    count
  }
}

fragment pageFragment on Page {
  likers {
    count
  }
}

看到fragment userFragment on User on 您的 GraphQL 感到困惑,因為您在查詢中使用on作為字段,而它期望是一個片段。 在此處閱讀有關片段的更多信息 此外,片段的名稱可以是任何名稱,除了on ,請參閱官方規范文件

解決此問題的一種方法可能是重命名查詢中的字段,但我不確定 GraphQL 是否也會抱怨這種方法:

query TimeLine($inputData: InputData!) {
    getTimeLine(inputData: $inputData) {
        dataOn: on
        updated
 }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM