graphql枚举输入类型中的单个值与数组



如何定义一个输入类型,该输入类型接受单个枚举值或GraphQl中的值数组?

根据GitHub GraphQl API,

{
  securityVulnerabilities(first: 3, ecosystem: RUBYGEMS) {
    nodes {
      advisory {
        description
      }
    }
  }
}

,但我认为数组可以很好,因为用户可以在生态系统上进行搜索。

{
  securityVulnerabilities(first: 3, ecosystem: [RUBYGEMS, NPM]) {
    nodes {
      advisory {
        description
      }
    }
  }
}

您可以通过将输入值定义为定义的Enum的数组[]来做到这一点,例如:

enum MyEnum {
  RUBYGEMS
  NPM
}
type Query {
  securityVulnerabilities(ecosystem: [MyEnum!]): MyReturnObject
}

然后您可以像:

一样查询它
{
  securityVulnerabilities(ecosystem: [RUBYGEMS, NPM]) {
    ....
  }
}

它可以与数组或单个值一起使用:

{
  securityVulnerabilities(ecosystem: RUBYGEMS) {
    ....
  }
}

GraphQl Spec说明以下内容:

如果以列表类型的输入为输入的值是不是一个列表 null 值,然后输入胁迫的结果是大小的列表一个[...]

最新更新