我需要从前端接受类型自定义JSON,我试图在NestJS中实现这一点,但我无法解决。
我的实体模型
import { GraphQLJSONObject } from âgraphql-type-jsonâ export class User { @Field(()=> GraphQLJSONObject) @Column({name: meta_data, type: simple-json}) metaData: object }
DTO等级:
export class CreateUserDto { @Field() readonly metaData: object; }
我总是出错
Error: undefined type error. Make sure you are providing an explicit type for the metaData of CreateUserDto class
我是Nestjs和Graphql的新手。
您对 graphql-type-json 是正确的。发生错误是因为Nest.js无法推断CreateUserDto.元数据字段的类型,您需要使用类似的注释。
graphql-type-json
@Field(() => GraphQLJSONObject) readonly metaData: object;
作为参考,当你也使用@Args字段时(比如在你的突变中),也会发生这样的错误
@Mutation((returns) => MyResultSchema) async createUser(@Args('user', { type: () => GraphQLJSONObject }) user: object)
确实有一些重复,但这是因为在转译Typescript后丢失了一些类型信息。