Выполнение запросов
Last updated
Last updated
Если есть специальная обработка данных, вы можете указать ее дополнительно для запросов, поддерживающих чтение данных из ваших источников данных или запись данных в них. Вы можете использовать запросы данных для всех типов источников данных, таких как базы данных, потоковые источники данных или классические Restful API. Вы можете создавать запросы во время редактирования приложения или в библиотеке запросов.
Все запросы к данным в Apeekflow всегда будут возвращать данные в формате JSON. Когда вы обращаетесь к своей базе данных, результат преобразуется, например, в ответ в формате JSON. Это очень полезно для упрощения использования данных во всех последующих разделах Apeekflow без необходимости сериализации данных между форматами.
Вы можете подключиться к источнику данных, который уже был в вашей библиотеке источников данных, или создать новый. Подробную информацию смотрите в разделе Источники данных в Apeekflow.
Пользовательский интерфейс редактора запросов меняется в зависимости от выбора различных типов источников данных. Ниже приведен пример подключения к базе данных PostgreSQL и соответствующая инструкция.
Режим SQL подходит для всех, кто выполняет запросы к базе данных, а также для опытных разработчиков, которые очень свободно владеют языком SQL и специализируются на работе с базами данных.
Apeekflow также предлагает графический интерфейс для операций записи в базу данных, таких как Вставка, Обновление и Удаление. Это поможет вам упростить привязку внесенных пользователем изменений данных в вашем приложении к базам данных.
Вы можете просмотреть метаданные таких баз данных, как PostgreSQL, MongoDB и MySQL. Нажмите Метаданные, и таблицы базы данных и их поля отобразятся в виде древовидной структуры. Метаданные полезны для написания запросов и позволяют автоматически предлагать их при вводе текста. Это также может помочь вам понять структуру базы данных и ее таблиц для подключенной базы данных.
Apeekflow оценивает ваш запрос с помощью кода JavaScript внутри {{ }}
в режиме реального времени, и результат отображается ниже в плавающем поле, так что вы можете использовать его для проверки правильности инструкции запроса.
Apeekflow запускает ваши запросы в двух режимах: он запускается автоматически при изменении входных данных или при загрузке страницы или вручную (и таким образом вызывается, например, в других обработчиках событий).
Запросы, настроенные на этот режим, автоматически выполняются при изменении зависимых входных данных или при загрузке страницы. Например, результат запроса select * from users where customer_id = {{input.value}}
обновляется немедленно, когда input.value
изменения. **** Этот режим выполнения запроса рекомендуется для запросов, считывающих данные из источников данных.
Тщательно продумайте, когда следует запускать запрос. Запросы данных, на которые может потребоваться больше времени для получения ответа, могут помешать правильной загрузке визуальных элементов приложения и отображению ваших данных.
Запросы в этом режиме выполняются только при ручном запуске, например при нажатии кнопки или ссылки. Для запуска запроса необходимо указать обработчик событий. Этот режим рекомендуется для запросов, записывающих данные в источники данных, поскольку перед их выполнением может потребоваться подтверждение того, что ввод данных завершен и безошибочен.
Как выбрать режим запуска запроса?
В большинстве случаев запросы, считывающие данные, такие как операции выбора, могут быть переведены в первый режим, а запросы, записывающие данные, такие как операции создания/удаления/обновления, выполняются вторым способом.
Когда Apeekflow обнаруживает, что ваша инструкция запроса переключается с чтения данных на запись, режим запуска переключается на автоматический запуск вручную, но не наоборот.
Иногда у вас также может возникнуть необходимость вызвать запрос данных в качестве результата или после ответа на другой запрос данных, например, для объединения ответов на данные. В этом случае вы можете использовать обработчики событий для запросов данных или так называемый Data Responder. Первый запрос может быть запущен при изменении входных данных или при загрузке страницы, а последующие запросы будут использовать триггер вызывается вручную.
Как только обработка ответа (и синтаксический анализ) запроса данных завершены, вы можете использовать обработчики событий в качестве триггера для дальнейших действий. Существуют триггеры onSuccess и onError. Вы также можете комбинировать несколько обработчиков событий.
Обработчик onSuccess
предназначен для выполнения определенных действий после успешного завершения запроса данных. Этот механизм необходим для запуска последующих операций, таких как выполнение запросов JavaScript или других последующих запросов, для которых может потребоваться ответ на исходный запрос данных.
Реализация
Чтобы использовать обработчик onSuccess
, просто нажмите Обработчики событий в нижней части редактора запросов к данным на вкладке Общие. Затем выберите «при успешном выполнении» и выполните желаемое действие.
Обработчик onError
служит аналогом обработчика onSuccess
, предназначенного для управления сценариями, в которых запрос данных завершается ошибкой. Это может быть вызвано различными причинами, такими как проблемы с сетью, ошибки API или несоответствия данных.
Чтобы создать обработку события для случая ошибки запроса данных, просто выберите Сбой при выборе события для обработчика событий. Вы можете дополнительно указать для отдельного обработчика событий, если требуется обработка специального случая. Например, вы могли бы показывать уведомление только по коду ответа 4xx или 5xx для запроса данных Restful.
На вкладках Уведомления и Дополнительно вы можете настроить параметры, касающиеся уведомлений, времени ожидания, периодического запуска и многого другого. Настройки на вкладках Уведомления и Дополнительно зависят от режима запуска вашего запроса.
Уведомления
Отображение сообщения об успешном завершении после запуска
🚫
✅
Отображение сообщения о сбое после запуска
✅
✅
Дополнительно
Отображение режима подтверждения перед запуском
🚫
✅
Установка тайм-аута для выполнения запроса
✅
✅
Периодическое выполнение запроса
✅
🚫