0

我有一个用例,只允许将一组特定的枚举值输入到突变/显示的输入中。我不太确定如何最好地处理这个问题。

鉴于以下情况:

import gql from 'graphql-tag';

export default gql`
  enum DayOfWeek {
    MONDAY
    TUESDAY
    WEDNESDAY
    THURSDAY
    FRIDAY
    SATURDAY
    SUNDAY
  }
`;

我想限制模式某些位置的选择值。

我希望我可以做类似的事情:

import gql from 'graphql-tag';

export default gql`
  union Weekday = MONDAY | TUESDAY | WEDNESDAY | THURSDAY | FRIDAY
  union Weekend = SATURDAY | SUNDAY

架构似乎永远不会验证。我也尝试将这些引用为DayOfWeek.MONDAY等,但无济于事。

有没有办法模仿这个功能?

4

1 回答 1

1

简短的回答:没有。目前,GraphQL 仅支持将对象类型用于联合,并且没有用于访问现有枚举类型的单个枚举值的语法。您需要显式创建三个单独的枚举类型:

enum Weekday {
  MONDAY
  TUESDAY
  WEDNESDAY
  THURSDAY
  FRIDAY
}

enum Weekend {
  SATURDAY
  SUNDAY
}

enum DayOfWeek {
  MONDAY
  TUESDAY
  WEDNESDAY
  THURSDAY
  FRIDAY
  SATURDAY
  SUNDAY
}
于 2020-07-06T14:06:27.297 回答