"Schema is not configured for mutations."
"Schema is not configured for mutations."
在我的项目中,我使用 npm、apollo 服务器和 typeorm 来设置我的服务器。当我尝试创建突变时,我收到此错误消息 "Schema is not configured for mutations"。我曾尝试寻找解决方案,但在所有其他解决方案中,他们使用的库与我不同,所以他们并没有真正帮助......我还查看了示例,在他们的代码中,将突变导入到解析器文件,然后将解析器导入架构中。正如它还说 "schema is not configured" 我想知道我是否需要向我的 tsconfig.json 添加一个配置,它允许项目使用带有突变的模式。
突变看起来是这样的:
import {InputType, Field} from "type-graphql";
@InputType()
export class CreateBookInput{
@Field()
title: string;
@Field()
author: string;
}
我将这个 class 导入我的解析器 class:
import { Resolver, Query, Mutation, Arg } from "type-graphql";
import { Book } from "../models/book";
import {CreateBookInput} from "../inputs/createBookInput";
@Resolver()
export class BookResolver {
@Query(() => [Book])
books() {
return Book.find()
}
@Mutation(() => Book)
async createBook(@Arg("data") data: CreateBookInput) {
const book = Book.create(data);
await book.save();
return book;
}
}
稍后导入到我的 index.ts 文件中,我也在其中处理我的模式:
import "reflect-metadata";
import { createConnection } from "typeorm";
import { ApolloServer } from "apollo-server";
import { BookResolver } from "./resolvers/bookResolver"; // add this
import { buildSchema } from "type-graphql";
async function main() {
const connection = await createConnection()
const schema = await buildSchema({
resolvers: [BookResolver]
})
const server = new ApolloServer({ schema })
await server.listen(4000)
console.log("Server has started!")
}
main();
我们非常重视任何帮助
不知何故它现在可以工作了。
我再次使用 tsc 编译了这个项目并启动了它,这次它没有失败。我以为使用 npm start 也同时编译了项目,但我想我错了。
在我的项目中,我使用 npm、apollo 服务器和 typeorm 来设置我的服务器。当我尝试创建突变时,我收到此错误消息 "Schema is not configured for mutations"。我曾尝试寻找解决方案,但在所有其他解决方案中,他们使用的库与我不同,所以他们并没有真正帮助......我还查看了示例,在他们的代码中,将突变导入到解析器文件,然后将解析器导入架构中。正如它还说 "schema is not configured" 我想知道我是否需要向我的 tsconfig.json 添加一个配置,它允许项目使用带有突变的模式。
突变看起来是这样的:
import {InputType, Field} from "type-graphql";
@InputType()
export class CreateBookInput{
@Field()
title: string;
@Field()
author: string;
}
我将这个 class 导入我的解析器 class:
import { Resolver, Query, Mutation, Arg } from "type-graphql";
import { Book } from "../models/book";
import {CreateBookInput} from "../inputs/createBookInput";
@Resolver()
export class BookResolver {
@Query(() => [Book])
books() {
return Book.find()
}
@Mutation(() => Book)
async createBook(@Arg("data") data: CreateBookInput) {
const book = Book.create(data);
await book.save();
return book;
}
}
稍后导入到我的 index.ts 文件中,我也在其中处理我的模式:
import "reflect-metadata";
import { createConnection } from "typeorm";
import { ApolloServer } from "apollo-server";
import { BookResolver } from "./resolvers/bookResolver"; // add this
import { buildSchema } from "type-graphql";
async function main() {
const connection = await createConnection()
const schema = await buildSchema({
resolvers: [BookResolver]
})
const server = new ApolloServer({ schema })
await server.listen(4000)
console.log("Server has started!")
}
main();
我们非常重视任何帮助
不知何故它现在可以工作了。
我再次使用 tsc 编译了这个项目并启动了它,这次它没有失败。我以为使用 npm start 也同时编译了项目,但我想我错了。