从 prisma 生成的客户端访问 graphql 服务器中的数据类型

Posted

技术标签:

【中文标题】从 prisma 生成的客户端访问 graphql 服务器中的数据类型【英文标题】:Access datatypes in graphql server from prisma generated client 【发布时间】:2019-06-29 16:55:43 【问题描述】:

我正在同时运行 prisma 和我的 graphql 应用程序 API。我可以运行prisma generate,它会生成客户端代码,一切都很好。然而,我的应用程序 API 上的大多数端点只不过是 prisma 服务的代理。例如,我有一个基本的 Font 数据模型,用户应该能够对其执行 CRUD 操作。

到目前为止,我正在使用硬编码参数手动创建这些 CRUD 查询。有没有一种方法可以简单地从 prisma 客户端导入代码来自动创建这些 CRUD 操作?

【问题讨论】:

你是如何使用sdl的? @genpfault 我正在使用github.com/prisma/nexus-prisma 我认为我们现在没有这样的工具 【参考方案1】:

我不确定我是否完全理解,但如果您尝试在所有数据类型上创建 CRUD 方法,像 GraphCool 这样的服务可能比 Prisma 更好用?

它比 Prisma 更老且可定制性更低,但确实为您的所有数据类型提供了查询和突变设置。

【讨论】:

【参考方案2】:

使用 prisma-client 无法做到这一点。预计您将在 Prisma 层之上拥有自己的服务,包括简化的 REST 端点或应用程序级 GraphQL 服务器、授权等。

但是,如果您大部分时间都打算这样做,那么请考虑使用prisma-bindings 而不是 prisma-client。它有一个forwardTo API,但它只是 gql 到 gql 转发。

注意:对于 express.js,有一个映射中间件,rest-graphql,但用途非常有限。

【讨论】:

以上是关于从 prisma 生成的客户端访问 graphql 服务器中的数据类型的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法从 datamodel.prisma 文件生成 schema.graphql 文件?

如何使用 Prisma API 生成 JWT 令牌?

为啥在后端环境中使用 Prisma?

Prisma v2:生成一个 .graphql 文件来编辑?

如何在两个字段 prisma-graphql 中使用相同的生成 ID

生成 Prisma Graphql Schema 时使用 generate 和 post deploy 钩子之间的区别?