导入 Prisma 生成模型的 Golang 后端和 Angular 前端

Golang Back-end and Angular Front-end with Prisma Generated Models import

我计划开发一个应用程序,该应用程序将具有 Golang API 后端、Angular 前端和 PostgreSQL 数据库。几天前我发现了 Prisma,它给我敲响了警钟;如果我首先使用 Prisma-Go-Client 创建数据库模式,那么我将能够编写前端和后端,而无需手动为数据库创建任何 beans/models,尤其是对于前端,我会直接在没有任何数据库连接的情况下开始编码,API 仅使用 prisma 生成的 Typescript 模型导入。所以基本上我可以用导入的模型模拟一些临时数据,当后端准备好时,一致的数据类型就会流动,我所要做的就是从模拟数据切换到将其绑定到所需数据的 API 请求.

现在的问题是; Golang 后端很好,我将导入 prisma-go-client 并生成模型并将它们用于任何架构更改,然后 CRUD 然后 return 结果是该数据等等,但是前端呢?我应该将 prisma TS 客户端创建到现有的 Angular 前端并生成模型,还是将代码构建到 dist 后数据库显示的结果?或者,如果我仅为此目的创建另一个项目,该项目将创建 TS prisma 模型,并且仅获取该模型并将其导入现有的 angular 项目中,该项目是否有效或仍将包含 DB reveal?

最后,如果 prima-go-clientGoLang 创建模型并且我将数据库结果解析到该模型中,然后 return 将其作为 JSON 解析到前端,将TS 生成的 prisma 模型能够解析该响应?或者它们将不一致,因为它们是在两种不同的语言之间生成的,并且它们会有差异(我希望它们相同)?

这行不通,因为 Prisma TS 客户端不适合在前端使用。它是一个后端库,就像 Prisma Go 客户端一样。

您可以在 type-safe GraphQL 服务器中使用 Go 客户端,例如 https://github.com/99designs/gqlgen,然后在前端使用 type-safe GraphQL 客户端。

请注意,Go Client 不再由官方维护:https://github.com/prisma/prisma-client-go/issues/707。如果可能,我们建议您使用 TS 客户端。