Возможно ли в GraphQL отправить Enum с несколькими значениями

В C# можно создать Enum с атрибутом Flags.(https://docs.microsoft.com/en-us/dotnet/api/system.flagsattribute?view=netstandard-2.1) Это означает, что Enum может выглядеть так:

[Flags]
enum EnumWithFlags 
{
  None = 0,
  FlagOne = 1,
  FlagTwo = 2,
  FlagThree = 4
}

EnumWithFlags может иметь значение 5, что означает, что он будет иметь как FlagThree, так и FlagOne.

Возможно ли это также с типом ввода Enum? И есть ли пример для этого?


person user8689373    schedule 17.04.2020    source источник


Ответы (1)


Из Схемы и типы:

Типы перечислений — это особый вид скаляра, который ограничен определенным набором допустимых значений.

По сути, вам нужно определить каждую комбинацию флагов как отдельное значение, если вы хотите, чтобы это было перечислением. Лучшим решением, вероятно, является использование вектора, где вы можете установить несколько значений перечисления в списке:

    type Foo {
         flags: [EnumWithFlags]
    }

    enum EnumWithFlags {
         NONE
         FLAG_ONE
         FLAG_TWO
         FLAG_TREE
    }

Обновление, на него также был дан ответ здесь

person Volodymyr Dyptan    schedule 21.10.2020