繁体   English   中英

错误:正文必须是字符串。 收到:{ resolvers: [[function HelloResolver]], validate: false } 使用 Type-graphql 和 apollo-server-express 时

[英]Error: Body must be a string. Received: { resolvers: [[function HelloResolver]], validate: false } when using Type-graphql and apollo-server-express

我一直在关注Ben Awad 的这个全栈教程,当他向架构添加解析器时,一切顺利,但是当我尝试完全相同的代码时,我得到了上面的错误。 我正在使用带有 apollo-server-express 2.25.2 版的 graphql 15.5.1 和 type-graphql 1.1.1。 我的代码如下所示:

 import {Query, Resolver} from "type-graphql"; @Resolver() export class HelloResolver { @Query(() => Number) hello() { return 5; } }

 import { ApolloServer } from "apollo-server-express"; import { buildSchema } from "graphql"; import {HelloResolver} from "./resolvers/hello"; const express = require('express'); const PORT : number = Number(process.env.PORT) || 3000; const main = async () => { const apollo = new ApolloServer({ schema: await buildSchema({ // ERROR DUE TO LINE BELOW resolvers: [HelloResolver], validate: false, }), }); apollo.applyMiddleware({ app }); app.listen(PORT, () => { console.log(`Listening on port ${PORT}...`); }); } main().catch((e) => { console.error(e); });

import { buildSchema } from "graphql";

应该

import { buildSchema } from "type-graphql";

您可以在视频描述中链接的相同代码中看到这一点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM