【发布时间】:2021-05-19 08:36:17
【问题描述】:
我使用graphql-request 作为 GraphQL 客户端来查询无头 CMS 以获取内容、修改并返回到原始请求/查询。无头 cms 单独托管,仅供参考。
我有以下代码:
@Query(returns => BlogPost)
async test() {
const endpoint = 'https://contentxx.com/api/content/project-dev/graphql'
const graphQLClient = new GraphQLClient(endpoint, {
headers: {
authorization: 'Bearer xxxxxxx',
},
})
const query = gql`
{
findContentContent(id: "9f5dde89-7f9b-4b9c-8669-1f0425b2b55d") {
id
flatData {
body
slug
subtitle
title
}
}
}`
return await graphQLClient.request(query);
}
BlogPost 是具有以下类型的模型:
import { Field, ObjectType } from '@nestjs/graphql';
import { BaseModel } from './base.model';
import FlatDateType from '../resolvers/blogPost/types/flatDatatype.type';
@ObjectType()
export class BlogPost extends BaseModel {
@Field({ nullable: true })
id!: string;
@Field((type) => FlatDateType)
flatData: FlatDateType;
}
而FlatDateType有如下代码
export default class FlatDateType {
body: string;
slug: string;
subtitle: string;
title: string;
}
它抛出以下异常:
错误:无法确定“flatData”的 GraphQL 输出类型。制作 确保您的班级使用适当的装饰器进行装饰。
这里缺少什么?
【问题讨论】:
标签: javascript node.js typescript graphql nestjs