Gam*_*mer 4 javascript node.js typescript graphql nestjs
我使用graphql-requestGraphQL 客户端来查询无头 CMS 以获取内容、修改并返回原始请求/查询。headless 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);
}
Run Code Online (Sandbox Code Playgroud)
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;
}
Run Code Online (Sandbox Code Playgroud)
并FlatDateType有以下代码
export default class FlatDateType {
body: string;
slug: string;
subtitle: string;
title: string;
}
Run Code Online (Sandbox Code Playgroud)
它抛出以下异常:
错误:无法确定“flatData”的 GraphQL 输出类型。确保你的类是用适当的装饰器装饰的。
这里缺少什么?
FlatDataType当没有有关它的信息传递给 graphql 解析器时,您的 graphql 服务器应该如何理解类型?您还需要向其中添加 graphql 装饰器。@ObjectType(),@Field(), ETC。
| 归档时间: |
|
| 查看次数: |
7016 次 |
| 最近记录: |