如何在 appsync 枚举中使用特殊字符 (-)?

How to use special character (-) in appsync enum?

我想使用 appsync Type 枚举来表示语言环境信息。但是,有一些特殊的内部语言环境信息。例如en-USen-UK 中的 -

如果可以的话,我想保留语言环境字符串的格式。

GraphQL 规范 does not allow - 的名称。所以答案很简单,不可能。

您可以做的是创建一个包含枚举和语言环境字符串的对象类型:

enum LocaleIdentifier {
  EN_US
  EN_UK
  # ...
}

type Locale {
  id: LocaleIdentifier
  str: String
}

这将允许您每次获得语言环境时都在前端使用字符串,但使用枚举类型引用语言环境。我不确定这是否比直接使用字符串更有价值。