Как форматировать выходные данные HTTP-коннектора
  • 23 Jan 2025
  • 5 Минуты для чтения
  • Авторы

Как форматировать выходные данные 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-запроса, важно сначала разобраться с формой объекта, возвращаемого в результатах тестирования. На диаграмме ниже показано, как результаты разбиваются на секции объектов и массивов.

Object Anatomy Diagram.png

NOTE

If you haven’t worked with JSON before, you may be unfamiliar with two critical datatypes, objects and arrays. Arrays are lists of values of the same type. For example, [1,2,3,5], or [oak, elm, alder, hickory]. Values in arrays are contained within square brackets, [ ]. Objects are a datatype for holding key:value pairs. The key:value pairs within an object can be of multiple different types, including arrays and nested objects. Objects are contained with curly brackets, { }.

Дополнительные сведения об объектах и массивах см. в статье Понимание массивов и объектов в выводах функций коннектора.

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

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

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

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

Outputs Ex2.png

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

Test Results Article Ex.png{height="" width=""}.

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

Outputs to Test Results Annotated.png{height="" width=""}.

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

NOTE

It doesn’t matter whether the dot is placed in the body, or in front of individual properties, so long as there is a dot separating each layer of the JSON.

Outputs to Test Results2.png

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

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

Outputs Single Line.png

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

Create Output Path.gif

Дополнительные сведения об использовании точечной нотации см. на этом ресурсе: Processmaker: Точечная нотация JSON.

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

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

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

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

Output 3x540 v2.png{height="" width=""}.

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

Output 540x3.png

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

Outputs Lists Toggle.gif

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

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

Test Results as Slugs.png

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

Читать далее


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

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


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