Typescript Enum$EnumName不能表示非枚举值:"$枚举值;。您是指枚举值吗$“枚举值”;
我正在尝试为我的玩具GraphQLAPI在解析器上创建一个可选的过滤器,它使用Typescript Enum$EnumName不能表示非枚举值:"$枚举值;。您是指枚举值吗$“枚举值”;,typescript,enums,graphql,typegraphql,Typescript,Enums,Graphql,Typegraphql,我正在尝试为我的玩具GraphQLAPI在解析器上创建一个可选的过滤器,它使用类型-graphql@1.0.0-rc.3和类-validator@0.12.0。当我运行看起来矛盾的查询时,我收到了这个错误消息。我在本文中非常仔细地介绍了enum示例,但我确信我遗漏了一些东西 以下是查询: { authors( field: "name", op: "CONTAINS", value: "Jones" )
类型-graphql@1.0.0-rc.3
和类-validator@0.12.0
。当我运行看起来矛盾的查询时,我收到了这个错误消息。我在本文中非常仔细地介绍了enum示例,但我确信我遗漏了一些东西
以下是查询:
{
authors(
field: "name",
op: "CONTAINS",
value: "Jones"
) {
id,
name
}
}
{
authors(
field: "name",
op: CONTAINS,
value: "Jones"
) {
id,
name
}
}
结果是:
{
"error": {
"errors": [
{
"message": "Enum \"FilterType\" cannot represent non-enum value: \"CONTAINS\". Did you mean the enum value \"CONTAINS\"?"
}
]
}
}
和枚举
enum过滤器类型{
EQ=“=”,
// . . .
CONTAINS=“CONTAINS”,
IN=“IN”
}
registerEnumType(过滤器类型{
名称:“FilterType”,
description:“筛选期间要执行的比较操作类型”,
});
出口{
过滤器类型
}
还有我的解析器/ArgsType
@ArgsType()
类过滤器AuthorArgs{
@字段(()=>字符串,{nullable:true})
字段?:字符串;
@字段(()=>FilterType,{nullable:true})
op?:过滤器类型;
@字段(()=>字符串,{nullable:true})
值?:字符串;
// . . .
get _field():字符串|未定义{
这个。validate();
返回此字段
}
get _op():FilterType |未定义{
这个。validate();
返回此.op
}
获取_值():字符串|未定义{
这个。validate();
返回此.value
}
}
@分解器()
导出类AuthorResolver{
@查询(()=>[作者])
作者(@Args(){u字段,_op,_值}:FilterAuthorArgs){
//使用过滤器
返回作者;
}
}
GraphQL中的双引号表示字符串文字。如果查询采用枚举值,则应省略引号: