Node.js 嵌套JS DTO和实体模型JSON不匹配问题
我需要从前端接受自定义JSON类型,我试图在NestJS中实现这一点,但我无法解决 我的实体模型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
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)