GraphQL枚举参数中的字符串与数组

时间:2019-05-07 06:23:29

标签: graphql

如何在GraphQL中定义枚举字符串或数组?

根据GitHub GraphQL API(https://developer.github.com/v4/explorer/),

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

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

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

1 个答案:

答案 0 :(得分:0)

您可以通过将输入值定义为定义的[]的数组Enum来完成此操作,例如:

enum MyEnum {
  RUBYGEMS
  NPM
}

type Query {
  securityVulnerabilities(ecosystem: [MyEnum]): MyReturnObject
}

然后您可以像这样查询它:

{
  securityVulnerabilities(ecosystem: [RUBYGEMS, NPM]) {
    ....
  }
}

希望有帮助。