我理解你的困惑。我会尽量让您更清楚地了解 Prisma 和 GraphQL 之间的区别。
棱镜
Prisma 是一个类似 ORM 的工具。这意味着它可以帮助您在数据库中搜索数据。帮助您创建查询、连接数据等。Prisma 是一种(通常)位于后端的工具,可帮助您查找将发送到前端或移动应用程序的数据。
GraphQL
GraphQL 是一种与后端通信的方式。因此,假设您想根据用户的 id 获取用户的名称。在 REST API(这是更常见的方式)上,您将向服务器发送一个 GET 请求,它会以 JSON 响应该用户的所有数据。
// Imagine this is your request to the server
await api.get(http://myserver.com/user/1)
// Imagine this is your JSON response
{
name: "Person",
age: 24,
address: "Avenue Street, number 7",
...
}
您会发现,即使您只是想要用户名,但您在使用 REST API 时却获得了所有数据。但对于 GraphQL,情况并非如此。您只能请求所需的数据。
// Your request to the server would look like this
{
GetUserById(1) {
name
}
}
// In the response you would be getting a JSON with only the data that you requested
{
name: "Person"
}
这就是 GraphQL 的用途,向您的后端请求特定数据并只接收您需要的数据。在这两种情况下,REST API 和 GraphQL,您都可以使用 Prisma。它将帮助您在数据库中搜索所请求的数据。
如果您想了解更多关于 Prisma 的信息,您可以查看他们的website,在那里您可以找到更多关于它的工作原理和使用方法的信息。
如果您想了解更多关于 GraphQL 的信息,可以查看他们的FAQ page
您还可以学习如何一起使用Prisma and GraphQL