我如何在类型 - graphql中添加具有不同格式的自定义标量来生成GraphQl架构
我试图使用类型 - graphql lib生成GraphQl架构,我希望字段值接受任何数据类型,但仅采用字符串。我创建了一个具有名称setterValuescalar的自定义标
import { ObjectID } from 'mongodb'
import 'reflect-metadata'
import { Field, InputType, Int, ObjectType } from 'type-graphql'
import { DateScalar } from '../scalars/date.scalar'
import { SettingValueScalar } from '../scalars/setting-value.scalar'
@ObjectType()
@InputType('SettingInput')
export class Setting implements MSetting {
readonly _id!: ObjectID
@Field(() => Int)
id!: number
@Field({ nullable: true })
slug?: string
@Field({ nullable: true })
domain?: string
@Field(()=>SettingValueScalar,{ nullable: true })
value?: string| number | string[] | number[]
@Field(() => DateScalar, { nullable: true })
createdAt?: Date
@Field(() => DateScalar, { nullable: true })
updatedAt?: Date
}
量
import { GraphQLScalarType, Kind } from 'graphql'
export const SettingValueScalar = new GraphQLScalarType({
name: 'SettingValue',
description: 'Setting value scalar type',
serialize(value: any): any {
return value
},
parseValue(value: any): any {
return value
},
parseLiteral(ast) {
return last
},
})
I tried to generate a GraphQl schema using type-graphql lib I want the field value to accept any data type but it only takes a string. I have created a custom scalar with the name SettingValueScalar but it's not working as well
import { ObjectID } from 'mongodb'
import 'reflect-metadata'
import { Field, InputType, Int, ObjectType } from 'type-graphql'
import { DateScalar } from '../scalars/date.scalar'
import { SettingValueScalar } from '../scalars/setting-value.scalar'
@ObjectType()
@InputType('SettingInput')
export class Setting implements MSetting {
readonly _id!: ObjectID
@Field(() => Int)
id!: number
@Field({ nullable: true })
slug?: string
@Field({ nullable: true })
domain?: string
@Field(()=>SettingValueScalar,{ nullable: true })
value?: string| number | string[] | number[]
@Field(() => DateScalar, { nullable: true })
createdAt?: Date
@Field(() => DateScalar, { nullable: true })
updatedAt?: Date
}
SettingValueScalar
import { GraphQLScalarType, Kind } from 'graphql'
export const SettingValueScalar = new GraphQLScalarType({
name: 'SettingValue',
description: 'Setting value scalar type',
serialize(value: any): any {
return value
},
parseValue(value: any): any {
return value
},
parseLiteral(ast) {
return last
},
})
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论