GraphQL 是一种用于 API 的查询语言和运行时环境,它使得客户端能够精确地指定其需要的数据,而无需在响应中包含不必要的数据。在 GraphQL API 中,我们可以为每个字段定义默认值和可选参数,以便更好地满足客户端的需求。
默认值
默认值可以为 GraphQL API 中的字段提供默认值。当客户端未指定该字段时,将返回默认值。这对于简化客户端的查询语句和减少空值检查非常有用。
在 GraphQL 中,我们可以通过在字段定义中使用 defaultValue
属性来设置默认值。例如,假设我们有一个 User
类型,其中包含 name
和 age
两个字段,我们可以将 age
字段的默认值设置为 18:
---- ---- - ----- ------- ---- ---- - -- -
在上面的代码中,我们使用 =
符号将 18
设置为 age
字段的默认值。现在,当客户端查询 User
类型时,如果未指定 age
字段,将返回 18
。
可选参数
可选参数允许客户端指定一个可选的参数来定制返回数据的方式。这对于在某些情况下需要更多数据时非常有用。
在 GraphQL 中,我们可以通过在字段定义中使用 args
属性来定义可选参数。例如,假设我们有一个 User
类型,其中包含 name
和 age
两个字段,我们可以定义一个可选参数 includeEmail
,以便在需要时返回用户的电子邮件地址:
---- ---- - ----- ------- ---- ---- ------ ------ - ---- ----- - -------- ---- ------------- --------- ---- -
在上面的代码中,我们在 user
查询中定义了一个可选参数 includeEmail
,它是一个布尔值,用于指定是否返回用户的电子邮件地址。如果客户端未指定 includeEmail
参数,则不返回电子邮件地址。
我们可以通过以下方式在 GraphQL 中使用可选参数:
----- - -------- ------ ------------- ----- - ---- --- ----- - -
在上面的查询中,我们指定了 includeEmail
参数为 true
,因此返回了用户的电子邮件地址。
示例代码
下面是一个完整的示例代码,它演示了如何在 GraphQL API 中定义默认值和可选参数:
---- ---- - --- --- ----- ------- ---- ---- - -- ------ ------ - ---- ----- - -------- ---- ------------- --------- ---- - ---- -------- - -------------- ---- ----- ------- ---- ---- ------ -------- ---- - ------ - ------ ----- --------- -------- -
在上面的代码中,我们定义了一个 User
类型,其中包含 id
、name
、age
和 email
四个字段。我们还定义了一个 Query
类型,其中包含一个 user
查询和一个可选参数 includeEmail
,以及一个 Mutation
类型,其中包含一个 updateUser
变更。
在 user
查询中,我们使用了可选参数 includeEmail
,以便在需要时返回用户的电子邮件地址。在 updateUser
变更中,我们允许客户端更新用户的姓名、年龄和电子邮件地址。
结论
在 GraphQL API 中,我们可以为每个字段定义默认值和可选参数,以便更好地满足客户端的需求。默认值可以为字段提供默认值,而可选参数允许客户端定制返回数据的方式。通过合理使用默认值和可选参数,我们可以使 GraphQL API 更加灵活和易于使用。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/673e8bce90e7ed93bee3a1b0