Types 如何在graphql中表示字符串枚举(字符串文字联合)?
我有一个字符串文本的简短列表,我想在我的GraphQl定义中表示它。我尝试使用enum,但它不适用于字符串文本 假设我有一些字符串文本列表:Types 如何在graphql中表示字符串枚举(字符串文字联合)?,types,enums,graphql,Types,Enums,Graphql,我有一个字符串文本的简短列表,我想在我的GraphQl定义中表示它。我尝试使用enum,但它不适用于字符串文本 假设我有一些字符串文本列表: export const DanceTypeList = [ "truffle-shuffle", "stanky-leg", "ghost-ride-the-whip", ] as const; // equivalent to ("truffle-shuffle" | "stanky-leg" | "ghost-ride-th
export const DanceTypeList = [
"truffle-shuffle",
"stanky-leg",
"ghost-ride-the-whip",
] as const;
// equivalent to ("truffle-shuffle" | "stanky-leg" | "ghost-ride-the-whip")
export type DanceType = typeof DanceTypeList[number];
我怎样才能将其转换为比GraphQlString更具描述性的GraphQl类型?理想情况下,它能够在交互式UI中自动建议。GraphQL中没有等效的数据结构。您可以使用枚举来完成您要做的事情,但是您需要修改枚举值的名称以满足规范的要求 在大多数GraphQL实现中,每个枚举值都可以映射到单独的“内部”值,以便更容易将它们映射到内部表示,例如Postgres枚举。了解更多详细信息
您还可以使用只允许某些值的字符串的。但是,如果使用枚举,您将无法获得与使用枚举相同的自动完成功能。自定义标量,即使没有自动完成功能,也是我能找到的最佳解决方案。
enum DanceType {
truffle_shuffle
stanky_leg
ghost_ride_the_whip
}