Как форматировать выходные данные HTTP-коннектора
  • 31 Oct 2023
  • 4 Минуты для чтения
  • Авторы

Как форматировать выходные данные HTTP-коннектора


Вводный текст

Узнайте, как структурировать выходные данные HTTP-коннектора.

Обзор

Редактор функций коннекторов в Tulip позволяет структурировать данные, возвращаемые вашими функциями коннекторов, таким образом, чтобы они были полезны и удобны для использования в ваших приложениях. В этой статье мы рассмотрим основы форматирования Output функций коннекторов, познакомив вас с:

  • Понятие "выход" коннектора
  • Инструменты, доступные для форматирования выходных данных
  • Различные распространенные форматы вывода

Что такое выходные данные?

Выходные данные используются для определения и структурирования возвращаемых результатов функции коннектора. С их помощью вы извлекаете важную для ваших приложений информацию из большого тела возврата HTTP.

Testing Outputs.gif

Как структурировать выходные данные

Найдите раздел Outputs в левой нижней части редактора функций коннектора.

Outputs3.png

Чтобы начать добавление выходов, нажмите кнопку Add Function Outputs.

Хорошей практикой является присвоение выходам идентифицируемых имен. В приложениях эти имена отображаются как переменные, поэтому важно уметь их различать.

Screenshot 2023-03-23 at 9.57.16 AM.png

Для того чтобы понять результаты HTTP-запроса, важно сначала разобраться с формой объекта, возвращаемого в результатах тестирования. На приведенной ниже диаграмме показано, как результаты разбиваются на секции Objects и Arrays.

Object Anatomy Diagram.png

:::(Info) (ПРИМЕЧАНИЕ) Если вы раньше не работали с JSON, то можете быть незнакомы с двумя важнейшими типами данных - объектами и массивами. Массивы - это списки значений одного типа. Например, [1,2,3,5], или [дуб, вяз, ольха, гикори]. Значения в массивах заключаются в квадратные скобки [ ]. Объекты - это тип данных для хранения пар ключ:значение. Пары ключ:значение в объекте могут быть разных типов, включая массивы и вложенные объекты. Объекты заключаются в фигурные скобки, { }. :::

Более подробную информацию об объектах и массивах можно найти в разделе Понимание массивов и объектов в выводах функций коннектора.

Точечная нотация

Для HTTP-коннекторов в выходных данных используется формат, называемый Dot Notation. Точечная нотация позволяет обращаться к значениям внутри объекта. Точечная нотация удобна для извлечения из большого тела ответа JSON только того, что необходимо, и позволяет более гибко подходить к формированию функций HTTP-коннектора. Проще говоря, это структурированный формат, основанный на значениях, которые вложены друг в друга.

Разберем на примере, как используется точечная нотация в выводах коннектора.

Следующий пример объекта под названием "employees" содержит массив объектов с подробной информацией о каждом сотруднике. Если мы хотим получить доступ только к названию должности каждого сотрудника, то используем синтаксис: employees.title. Мы используем точку для доступа к значениям, связанным с интересующими нас ключами. Допустим, мы хотим получить только первый результат. Для этого мы добавим индексную позицию между именем основного объекта "employees" и интересующим нас значением "title". Синтаксис будет выглядеть так: employees.0.title. Для более сложных объектов может потребоваться углубление в объект для извлечения нужной информации.

Outputs Ex2.png

Рассмотрим это на другом примере. В данном случае мы хотим создать функцию коннектора для извлечения информации, связанной со статьями в Базе знаний. Наш коннектор возвращает следующий JSON-объект с именем "data", содержащий данные о конкретной статье:

Test Results Article Ex.png

Если бы мы хотели получить, скажем, только ID, название, версию и информацию о том, скрыта статья или нет. Нам нужно было бы указать это с помощью выводов. Продемонстрируем, как выглядит точечная нотация в секции outputs редактора:

Outputs to Test Results Annotated.png

Чтобы извлечь такие результаты, как "id" и "title", нам нужно указать, где они находятся в JSON. Тело вывода - это "data", соответствующее первому выпадающему списку в разделе Test Results. Каждый результат в раскрывающемся списке "data" является вложенным в этот объект. В разделе " Выводы" точка означает переход на один уровень вглубь объекта "данные".

:::(Info) (ПРИМЕЧАНИЕ) Неважно, где ставится точка - в теле или перед отдельными свойствами, главное, чтобы она разделяла каждый слой JSON. :::

Outputs to Test Results2.png

Когда мы переходим на вкладку Outputs в разделе Test Results, в выходных данных мы отфильтровываем остальные данные, чтобы видеть только ту информацию, которая нам важна.

Другой способ записи выходных данных - в одну строку. Это позволяет показать полный путь в одном запросе.

Outputs Single Line.png

Для упрощения записи пути вывода можно также щелкнуть на строке данных, чтобы добавить ее в качестве нового вывода.

Create Output Path.gif

Для получения дополнительной информации об использовании точечной нотации ознакомьтесь с этим ресурсом: Как использовать точечную нотацию для доступа к информации в объекте JSON.

Результаты вывода

Существует несколько способов структурирования выходных данных, но их выбор полностью зависит от того, что вы хотите делать с данными в своих приложениях. Прежде чем приступить к структурированию выходных данных, подумайте о своей конечной цели. Хотите ли вы отображать несколько типов данных в отдельных переменных? Или у вас есть одинаковые типы данных в одном массиве, который вы хотите просто разобрать для получения необходимой информации?

Все следующие примеры основаны на одной и той же функции коннектора, и в каждом случае тело результатов тестирования одинаково. Однако выходные данные отличаются по своей структуре.

В следующем примере показан вывод коннектора для JSON-пути data.hits.slug. По структуре коннектор возвращает большой массив всех URL-слогов для статей базы знаний. В наших приложениях этот возвращаемый коннектором массив будет доступен в переменной массива.

Output 3x540 v2.png

Мы можем структурировать выходные данные в виде списка объектов и извлекать из результатов отдельные типы данных, создавая несколько объектов данных, которые могут быть видны в приложениях по отдельности.

Output 540x3.png

Списки объектов - это объекты, содержащие несколько вложенных друг в друга типов данных. Чтобы использовать списки объектов, щелкните на типе вывода и переключите переключатель List в правом углу.

Outputs Lists Toggle.gif

Если у вас есть список объектов, вы можете легко использовать различные типы данных в качестве отдельных фрагментов данных в своих приложениях.

Если мы вернемся к примеру, приведенному выше, то сделаем наш путь вывода data.hits.slug списком. В приведенных ниже результатах видно, что Tulip структурирует возвращаемый коннектор как массив слизней, причем каждая позиция индекса перечисляется рядом с каждым значением.

Test Results as Slugs.png

Теперь, имея такое представление о выходных данных, вы можете определить выходные данные для своих функций коннекторов и оптимизировать возвращаемые результаты ваших коннекторов!

Дальнейшее чтение


Вы нашли то, что искали?

Вы также можете зайти на community.tulip.co, чтобы задать свой вопрос или узнать, сталкивались ли другие с подобным вопросом!


Была ли эта статья полезной?