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



我计划有一个应用程序,该应用程序将具有带有AngularFront-End和PostgreSQLDatabase的GolangAPI Back-End。几天前,我发现了Prisma,它为我敲响了警钟;如果我首先使用Prisma-Go-Client创建DB模式,那么我将能够编写Front-End和Back-End,而无需手动为DB创建任何beans/模型,尤其是对于Front-End,我将直接开始编码,而无需要任何数据库连接和API,只需使用作为Typescript模型的prisma生成的导入。因此,基本上我可以用导入的模型模拟一些临时数据,当Back-End准备好时,一致的数据类型将流动,我所要做的就是从模拟数据切换到所需数据的API请求。

现在的问题是;对于Golang后端,我将导入prisma-go-client并生成模型,并将它们用于任何模式更改,然后CRUD返回数据作为结果等等。但前端呢?我应该在现有的Angular前端中创建prisma TS客户端并生成模型吗?还是这将导致在将代码构建到dist中后出现数据库泄漏?或者,如果我只为此目的创建另一个项目,该项目将创建TS棱镜模型,并且只获取该模型并将其导入到现有的角度项目中,这会起作用吗?还是它仍然包含DB显示?

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

这不起作用,因为Prisma TS客户端不打算在前端使用。它是一个后端库,就像Prisma Go客户端一样。

您可以在类型安全的GraphQL服务器中使用Go Client,如https://github.com/99designs/gqlgen然后在前端使用类型安全的GraphQL客户端。

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

相关内容

  • 没有找到相关文章

最新更新