类型-graphql。字符串、布尔值和数字的联合类型失败
Posted
技术标签:
【中文标题】类型-graphql。字符串、布尔值和数字的联合类型失败【英文标题】:type-graphql. Union type of String, Boolean and Number failed 【发布时间】:2020-11-22 03:07:37 【问题描述】:尝试在 type-graphql 中创建一个联合类型,表示 String、Number 和 Boolean 类,但是失败了。 知道怎么做吗?
export const NonObjectType = createUnionType(
name: "NonObjectType",
types: () => [String, Boolean, Number] as const,
resolveType: (value) =>
console.log(value, typeof value);
switch (typeof value)
case "string":
return String;
case "number":
return Number;
case "boolean":
return Boolean;
default:
return undefined;
,
);
@ArgsType()
@InputType("FindSomeArgsUnitInputType")
export class GqlArgsFindSomeArgsUnit<T extends object>
implements IFindSomeArgsUnit<T>
@Field(() => String, defaultValue: "id" )
column: keyof T;
@Field(() => [NonObjectType], defaultValue: [""] )
values: Array<string | boolean | number>;
错误: 错误:无法确定“GqlArgsFindSomeArgsUnit”类的“值”的 GraphQL 输入类型
【问题讨论】:
【参考方案1】:不幸的是,GraphQL 规范不支持标量类型的联合,仅支持对象类型:
https://github.com/graphql/graphql-spec/issues/215
【讨论】:
以上是关于类型-graphql。字符串、布尔值和数字的联合类型失败的主要内容,如果未能解决你的问题,请参考以下文章