Ответ
GraphQL схема включает несколько основных сущностей:
-
Типы (Types) – базовые строительные блоки. Например, объектные типы (
type User { id: ID! name: String }), скаляры (String,Int,ID), перечисления (enum Role { ADMIN USER }). -
Интерфейсы (Interfaces) – абстрактные типы, определяющие набор полей, которые должны реализовывать другие типы (
interface Node { id: ID! }). -
Юнионы (Unions) – объединяют несколько типов (
union SearchResult = User | Post). -
Запросы (Queries) – операции для получения данных (
type Query { user(id: ID!): User }). -
Мутации (Mutations) – операции для изменения данных (
type Mutation { createUser(name: String!): User }). -
Подписки (Subscriptions) – для реальных обновлений (
type Subscription { newMessage: Message }). -
Директивы (Directives) – аннотации для изменения поведения полей (
@skip(if: Boolean)).
Пример:
type Query {
getUser(id: ID!): User
}
type User implements Node {
id: ID!
name: String!
posts: [Post!]!
}
interface Node {
id: ID!
}