GraphQL и Prisma: почему можно переопределить типы в схеме приложения, когда они уже являются частью схемы базы данных Prisma? - PullRequest
2 голосов
/ 07 марта 2019

Привет. Я читал учебник по GraphQL / Prisma (https://www.howtographql.com/graphql-js/6-authentication/)), и мне интересно, почему можно переопределить типы в схеме приложения, когда они уже являются частью схемы базы данных Prisma и могут быть импортировано оттуда.

Ответ, который дает учебное пособие: «Скрыть потенциально конфиденциальную информацию от клиентских приложений». Что это значит точно? Почему мы копируем определения в «schema.graphql» и «datamodel.prisma»? Поскольку определения немного отличаются (т. Е. «Модель данных» содержит теги типа @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!] !
}

1 Ответ

2 голосов
/ 07 марта 2019

Схема не имеет поля password, что, вероятно, означает " скрыть потенциально конфиденциальную информацию ".

В любом API распространена практика не возвращать все данные из постоянного хранилища.

...