javascript - GraphQL : Require at least one argument in a query

标签 javascript graph

我为我的用户查询设置了以下模式:

{
  type: UserType,
  args: {
    id: {
        type: GraphQLID,
        description: "A user's id.",
    },
    email: {
        type: GraphQLString,
        description: "A user's email.",
    },
},
resolve: async (parent, args) => {
  // ...
}

我想接受 idemail 作为参数,但至少需要一个。有没有办法在模式中设置它,而不必在解析函数中编写额外的代码?

或者为每个参数创建单独的查询是否更可取?例如:getUserByIdgetUserByEmailgetUserBySessionToken等?

最佳答案

如果您想要一个强制执行两者之一的模式,您可以添加一个枚举参数来限定单个字符串参数。该模式在 graphql 中可能如下所示:

type query {
  getUser(
    lookup: String!
    lookupType: UserLookupType!
  ): User
}

enum UserLookupType {
  ID
  EMAIL
}

关于javascript - GraphQL : Require at least one argument in a query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48402958/

相关文章:

javascript - onKeyDown 事件未触发

algorithm - 图有两个/三个不同的最小生成树?

algorithm - 在图中查找具有最大最小容量的路径

c++ - 解析输入文件以创建有向图 C++

javascript匿名函数语法

javascript - HTML 文件未在 Django 中正确加载

javascript - ReactJS 附加选择属性

iPhone iOS 在呈现图形时如何处理核心数据中的时间间隔?

java - jMonkeyEngine相机跟随

c# - 包含 asp.net 填充的 javascript 文件