Javascript 使用TypeForm实体的graphql查询
我正在学习Javascript 使用TypeForm实体的graphql查询,javascript,graphql,typeorm,Javascript,Graphql,Typeorm,我正在学习graphql,并将其与typeorm相结合。我用graphql编写了一个查询,想知道这是否是将typeorm实体与同一实体的graphql类型相结合的正确方法。或者有没有办法使用typeorm实体而不是graphql类型作为返回值 typeorm实体和graphql类型具有完全相同的字段,本质上是完全相同的。只有一个定义为graphql类型,另一个使用typeorm装饰器 我也不确定这个魔术是如何从一个承诺返回一个TestType。其中,TestType是一个graphql类型,是一
graphql
,并将其与typeorm
相结合。我用graphql
编写了一个查询,想知道这是否是将typeorm
实体与同一实体的graphql
类型相结合的正确方法。或者有没有办法使用typeorm
实体而不是graphql
类型作为返回值
typeorm
实体和graphql
类型具有完全相同的字段,本质上是完全相同的。只有一个定义为graphql
类型,另一个使用typeorm
装饰器
我也不确定这个魔术是如何从一个承诺
返回一个TestType
。其中,TestType
是一个graphql
类型,
是一个typeorm
实体
import {GraphQLFieldConfig, GraphQLNonNull} from "graphql/type/definition";
import {TestType} from "../type/TestType";
import {GraphQLID} from "graphql";
import {IGraphQLContext} from "../IGraphQLContext";
export const Test: GraphQLFieldConfig<any, IGraphQLContext, any> = {
// notice the type to return here is the graphql type
type: new GraphQLNonNull(TestType),
description: "A query for a test",
args: {
id: {
type: new GraphQLNonNull(GraphQLID),
description: "The ID for the desired test"
}
},
async resolve (source, args, context) {
// getTest(...) here returns a promise<Test> where Test is a typeorm entity
return context.db.testDAO.getTest(args.id);
}
};
从“graphql/type/definition”导入{GraphQLFieldConfig,GraphQLNonNull};
从“./type/TestType”导入{TestType};
从“graphql”导入{GraphQLID};
从“./IGraphQLContext”导入{IGraphQLContext};
导出常量测试:GraphQLFieldConfig={
//请注意,这里要返回的类型是graphql类型
类型:新GraphQLNonNull(TestType),
description:“测试的查询”,
args:{
身份证:{
类型:新GraphQLNonNull(GraphQLID),
描述:“所需测试的ID”
}
},
异步解析(源、参数、上下文){
//getTest(…)在这里返回一个承诺,其中Test是一个typeorm实体
返回context.db.testDAO.getTest(args.id);
}
};
我决定放弃使用typeorm的尝试,继续使用它。如果你想要的是Prisma(自动生成的数据库和模式)的魔力,还有托管API和访问模型和解析程序的灵活性,这样你就可以执行自定义操作,那么你应该去看看。它是一个Node.js GraphQL API框架,用TypeScript编写,您可以在其中设置解析程序和数据模型,它可以自动生成您的整个模式,并支持分页、筛选等操作。。。类似于普里斯马的惯例。它的功能不如Prisma丰富,但它给了你更多的控制。你可以退房,这会让你快速上路
免责声明:我是《野猪》的作者谢谢,我会去看看。