如何处理返回布尔值的 GraphQL 查询?

Posted

技术标签:

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

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

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

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

请求:

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

回复:


  "data": 
    "emailExists": 
      "is": true
    
  

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

正是我要找的!!非常感谢。 仅用于记录,使用此解决方案的请求将是这样的(无需选择字段):graphql query emailExists(email:"jane@doe.com")

以上是关于如何处理返回布尔值的 GraphQL 查询?的主要内容,如果未能解决你的问题,请参考以下文章