如何处理返回布尔值的 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 查询?的主要内容,如果未能解决你的问题,请参考以下文章

如何处理在 php mysql 中返回多个值的内部查询?

C#/JSON 如何处理从数据库查询返回的 NULL 值? [复制]

我如何检查字符串是返回布尔值的泰语,如 isalpha()

如何处理以数组作为返回值的 go RPC 调用?

无需等待的并发代码

如何处理 Vue.JS 中的 Apollo Graphql 查询错误?