Node.js 嵌套JS DTO和实体模型JSON不匹配问题

Node.js 嵌套JS DTO和实体模型JSON不匹配问题,node.js,graphql,nestjs,typeorm,Node.js,Graphql,Nestjs,Typeorm,我需要从前端接受自定义JSON类型,我试图在NestJS中实现这一点,但我无法解决 我的实体模型 import { GraphQLJSONObject } from “graphql-type-json” export class User { @Field(()=> GraphQLJSONObject) @Column({name: meta_data, type: simple-json}) metaData: object } DTO类别: export

我需要从前端接受自定义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类型json
是正确的。发生此错误的原因是Nest.js无法推断CreateUserDto.metadata字段的类型,您需要使用类似的注释

@Field(() => GraphQLJSONObject)
readonly metaData: object;
作为参考,当您也使用@Args字段时(比如在您的变体中),可能会发生这种错误

确实存在一些重复,但这是因为在传输Typescript之后,一些类型信息丢失了

@Mutation((returns) => MyResultSchema)
async createUser(@Args('user', { type: () => GraphQLJSONObject }) user: object)