【问题标题】:How to approach a GraphQL query that returns a boolean value?如何处理返回布尔值的 GraphQL 查询?
【发布时间】:2019-11-14 16:26:17
【问题描述】:

需要在用户注册过程中检查电子邮件是否可用或被占用。目标是使用 GraphQL 快速查询 API 服务器,并让它告诉我们电子邮件是否可用或被占用。

在使用 GraphQL 的简单布尔型情况下,一般最佳实践是什么?

以下是我想出的,但我不确定这是否是一个好的做法,并希望听到有关此类查询的更好做法的反馈。

请求:

query {
  emailExists(email:"jane@doe.com") {
    is
  }
}

回复:

{
  "data": {
    "emailExists": {
      "is": true
    }
  }
}

【问题讨论】:

    标签: graphql apollo-client


    【解决方案1】:

    “查询”只是Query 类型的字段。字段可以返回任何输出类型,包括标量——它不需要返回对象。所以有这样的模式就足够了:

    type Query {
      emailExists(email: String!): Boolean!
    }
    

    首选对象类型的唯一原因是,如果您预计将来想要添加其他字段(即除了您当前的 is 字段之外的其他字段)。

    【讨论】:

    • 正是我要找的!!非常感谢。
    • 仅用于记录,使用此解决方案的请求将是这样的(无需选择字段):graphql query { emailExists(email:"jane@doe.com") }
    猜你喜欢
    • 1970-01-01
    • 2011-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多