问题描述
我正在尝试在微服务架构中使用 Graphql 联合创建一个 Poc。
我对 schema 中定义的类型(我使用带有 graphql-codegen 的 typescript)和 db orm 定义的类型之间的匹配有疑问。
我已经阅读了很多关于 graphql 最佳实践的文章,很多人说模式中定义的类型必须与 orm 定义的类型区别对待,但是没有示例,实际上在所有文章中都定义了类型在架构中定义,然后在解析器中通过 orm 调用数据库并返回数据库的类型。
例如这是我架构的一部分
...
type User @key(fields: "_id") {
_id: ID!
name: String!
email: String
employee: Activity
customer: [Activity]
createdAt: DateTime
}
extend type Activity @key(fields: "_id") {
_id: ID! @external
employees: [User]
customers(first: Int! = 20,cursor: String,query: String): [User]
}
...
export interface UserDb {
_id: ObjectId;
name: string;
email?: string;
employeeActivityId?: string;
customerActivityIds?: string[];
}
如果我编辑我的数据库架构,使用在 graphql 架构上使用的相同名称一切正常,我也不能再使用 orm,因为我已经有从 graphql 架构生成的接口,但这不是最佳实践
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)