GraphQL — это язык запросов и среда выполнения для получения данных с сервера. Он определяет описание схемы данных и позволяет клиентам запрашивать только нужную информацию. В центре GraphQL лежат типы данных, которые определяют структуру и формат данных.
Одним из ключевых понятий в GraphQL являются скалярные типы данных, которые представляют собой простые значения, такие как Boolean (логическое значение), String (строка), Int (целое число), Float (число с плавающей точкой) и ID (уникальный идентификатор). Скалярные типы могут быть использованы в определении полей объектов и аргументов запросов. Они позволяют явно указать тип данных, ожидаемый от сервера и возвращаемый клиенту.
Boolean используется для представления логических значений true и false. String используется для представления текстовых данных. Int и Float используются для представления числовых данных. Int предназначен для целых чисел, а Float для чисел с плавающей точкой. ID представляет собой уникальный идентификатор объекта и может быть представлен как целое число или строка.
Строковые скаляры
Строки могут содержать любые символы, включая буквы, цифры, специальные символы и пробелы. Они могут быть на любой длине, от пустой строки до очень длинного текста.
Для улучшения удобочитаемости и безопасности данных, GraphQL предоставляет возможность использовать экранированные символы в строках. Например, символ переноса строки может быть представлен как
. Экранирование позволяет использовать специальные символы в строках, которые в обычном случае имели бы специальное значение.
Строковые скаляры могут использоваться в GraphQL для представления различных типов данных, таких как имена, адреса, описания, и т.д. Они позволяют передавать и получать текстовые значения с помощью GraphQL API.
Числовые скаляры
GraphQL предоставляет несколько типов числовых скаляров, которые позволяют представлять числовые значения в схеме.
- Int — представляет знаковое 32-битное целое число. Может содержать значения от -2,147,483,648 до 2,147,483,647.
- Float — представляет числа с плавающей точкой двойной точности. Может содержать значения от ±5.0 × 10^−324 до ±1.7 × 10^308.
Оба типа числовых скаляров могут использоваться в GraphQL схеме для описания полей, аргументов или возвращаемых значений.
Булевые скаляры
Булевые скаляры могут использоваться для представления логических значений в схеме GraphQL. Например, их можно использовать для определения условий и флагов в запросах.
В GraphQL булевы скаляры могут быть заданы следующим образом:
- true — представляет значение истины
- false — представляет значение лжи
Булевы скаляры являются одним из наиболее простых и распространенных типов данных в GraphQL. Они могут быть использованы для представления различных логических значений, таких как активное/неактивное состояние, наличие/отсутствие какого-либо свойства и т. д. Важно использовать булевые скаляры с умом, чтобы предоставить пользователю точное и надежное представление логических значений в API.
Скаляры для даты и времени
GraphQL предоставляет несколько встроенных скаляров, которые позволяют работать с датой и временем:
- DateTime — представляет собой дату и время в формате ISO 8601. Например, «2021-07-20T09:30:00Z».
- Date — представляет собой только дату без времени. Например, «2021-07-20».
- Time — представляет собой только время без даты. Например, «09:30:00Z».
- Timestamp — представляет собой количество миллисекунд, прошедших с 1 января 1970 года 00:00:00 UTC. Например, 1626780600000.
Скаляры для даты и времени позволяют более гибко работать с этими данными в GraphQL. Они удобны для сортировки, фильтрации и агрегации данных по времени.