GraphQL 和 Prisma:当类型已经是 Prisma 数据库模式的一部分时,为什么还要在应用程序模式中定义类型?
GraphQL & Prisma: why does one redefine types in the application schema when they are already part of the Prisma database schema?
您好 — 我一直在关注 GraphQL/Prisma 教程 (https://www.howtographql.com/graphql-js/6-authentication/),我想知道为什么在应用程序架构中已经是 Prisma 数据库一部分的类型时重新定义它们模式,可以从那里导入。
教程给出的答案是“对客户端应用程序隐藏潜在的敏感信息”。这到底是什么意思?为什么我们要复制“schema.graphql”和“datamodel.prisma”中的定义?因为定义略有不同(即 'datamodel' 包含像 @unique
这样的标签)?我们如何向客户端应用程序隐藏内容?我仍然感到困惑....
特别是在‘schema.graphql’中我有
type User {
id: ID!
name: String!
email: String!
links: [Link!]!
}
在'datamodel.prisma'我有
type User {
id: ID! @unique
name: String!
email: String! @unique
password: String!
links: [ Link!] !
}
该架构没有 password
字段,这可能是“隐藏潜在敏感信息”的意思。
这是任何API不return持久存储中的所有数据的常见做法。
您好 — 我一直在关注 GraphQL/Prisma 教程 (https://www.howtographql.com/graphql-js/6-authentication/),我想知道为什么在应用程序架构中已经是 Prisma 数据库一部分的类型时重新定义它们模式,可以从那里导入。
教程给出的答案是“对客户端应用程序隐藏潜在的敏感信息”。这到底是什么意思?为什么我们要复制“schema.graphql”和“datamodel.prisma”中的定义?因为定义略有不同(即 'datamodel' 包含像 @unique
这样的标签)?我们如何向客户端应用程序隐藏内容?我仍然感到困惑....
特别是在‘schema.graphql’中我有
type User {
id: ID!
name: String!
email: String!
links: [Link!]!
}
在'datamodel.prisma'我有
type User {
id: ID! @unique
name: String!
email: String! @unique
password: String!
links: [ Link!] !
}
该架构没有 password
字段,这可能是“隐藏潜在敏感信息”的意思。
这是任何API不return持久存储中的所有数据的常见做法。