簡體   English   中英

如何在GraphQL上對自定義字段使用查詢?

[英]How to use the query for custom fields on GraphQL?

我的graphcool上有以下架構:

type User @model {
  id: ID! @isUnique
  name: String!
  email: String!
  password: String!
}

使用操場,我可以正確執行此操作:

query {
  User(id: "1234") {
    id
    name
  }
}

但是這個查詢:

query {
  User(name: "Thomas") {
    id
    name
  }
}

引發錯誤:

類型為“查詢”的“用戶”字段上的未知參數“名稱”。 (第2行,第8列):
用戶(名稱:“ Thomas”)。

為什么? 以及如何解決這個問題? 根據我的觀點,可以立即查詢模型中已經存在的任何內容,對嗎? 順便說一句,我是graphQL的新手,並且幾乎沒有文章討論此錯誤(每個教程都假設它會立即生效),因此,如有必要,請給出一些更詳盡的答案。

GraphQL本質上不允許對對象進行任意查詢。

模式中的某處會有一個附加的聲明,例如

type Query {
  User(id: ID!): User
}

Query類型中的名稱是您可以運行的頂級查詢,並且該查詢中列出的參數是它們接受的唯一參數。 (對於頂級突變,有一個對應的Mutation類型,它可以更改基礎狀態,並在查詢中使用mutation關鍵字。)

如果控制服務器實現,則可以添加參數或其他頂級查詢

userByName(name: String!): User

但您還必須提供此查詢的實現或處理其他參數,這是代碼更改。

暫無
暫無

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

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