Jak sformatować dane wyjściowe konektora HTTP
  • 31 Oct 2023
  • 5 Minuty do przeczytania
  • Współtwórcy

Jak sformatować dane wyjściowe konektora HTTP


Article Summary

Dowiedz się, jak strukturyzować dane wyjściowe konektorów HTTP.

Przegląd

Edytor funkcji konektorów w aplikacji Tulip umożliwia strukturyzowanie danych zwracanych przez funkcje konektorów, tak aby były one przydatne i użyteczne w aplikacjach. W tym artykule omówimy podstawy formatowania funkcji konektora Output poprzez wprowadzenie do:

  • Pojęcie konektora "Output"
  • Narzędzia dostępne do formatowania danych wyjściowych
  • Różne popularne formaty wyjściowe

Czym są dane wyjściowe?

Dane wyjściowe służą do definiowania i strukturyzowania wyników zwracanych przez funkcję konektora. Są one sposobem na wyodrębnienie informacji, które są ważne dla aplikacji z większego ciała zwrotnego HTTP.

Testing Outputs.gif

Jak ustrukturyzować dane wyjściowe

Znajdź sekcję Dane wyjściowe w lewym dolnym rogu edytora funkcji łącznika.

Outputs3.png

Aby rozpocząć dodawanie danych wyjściowych, kliknij przycisk Dodaj dane wyjściowe funkcji.

Dobrą praktyką jest nadawanie wyjściom etykiet, które można zidentyfikować. Nazwy te pojawiają się jako zmienne w aplikacjach, więc ważne jest, aby móc je rozróżnić.

Screenshot 2023-03-23 at 9.57.16 AM.png

Aby zrozumieć wyniki żądania HTTP, ważne jest, aby najpierw zrozumieć kształt obiektu zwracanego w wynikach testu. Poniższy diagram ilustruje, w jaki sposób wyniki są podzielone na sekcje obiektów i tablic.

Object Anatomy Diagram.png

:::(Info) (UWAGA) Jeśli nie pracowałeś wcześniej z JSON, możesz nie znać dwóch krytycznych typów danych, obiektów i tablic. Tablice to listy wartości tego samego typu. Na przykład [1,2,3,5] lub [oak, elm, alder, hickory]. Wartości w tablicach są zawarte w nawiasach kwadratowych [ ]. Obiekty są typem danych do przechowywania par klucz:wartość. Pary klucz:wartość w obiekcie mogą być wielu różnych typów, w tym tablic i obiektów zagnieżdżonych. Obiekty są ujęte w nawiasy klamrowe, { }. :::

Więcej informacji na temat obiektów i tablic można znaleźć w artykule Understanding Arrays and Objects in Connector Function Outputs.

Notacja kropkowa

W przypadku konektorów HTTP dane wyjściowe używają formatu o nazwie Dot Notation. Notacja kropkowa umożliwia dostęp do wartości wewnątrz obiektu. Notacja kropkowa jest przydatna do wyciągania tylko tego, czego potrzebujesz z dużej treści odpowiedzi JSON i zapewnia większą elastyczność w tworzeniu funkcji konektorów HTTP. Mówiąc prościej: jest to ustrukturyzowany format oparty na wartościach zagnieżdżonych jedna w drugiej.

Przeanalizujmy na przykładzie, w jaki sposób notacja kropkowa jest używana w wyjściach konektorów.

Poniższy przykładowy obiekt o nazwie "employees" zawiera tablicę obiektów ze szczegółowymi informacjami o każdym pracowniku. Gdybyśmy chcieli uzyskać dostęp tylko do tytułu każdego pracownika, użylibyśmy składni: employees.title. Używamy kropki, aby uzyskać dostęp do wartości powiązanych z kluczami, które nas interesują. Powiedzmy, że chcemy uzyskać tylko pierwszy wynik. Określilibyśmy to, dodając pozycję indeksu między nazwą głównego obiektu, "employees", a interesującą nas wartością, "title". Składnia wyglądałaby następująco: employees.0.title. W przypadku bardziej złożonych obiektów może być konieczne zagłębienie się w obiekt, aby uzyskać potrzebne informacje.

Outputs Ex2.png

Pójdźmy o krok dalej z innym przykładem. W tym przypadku powiedzmy, że jesteśmy zainteresowani stworzeniem funkcji konektora do pobierania informacji powiązanych z artykułami w Bazie wiedzy. Nasz konektor zwraca następujący obiekt JSON o nazwie "data" zawierający dane o konkretnym artykule:

Test Results Article Ex.png

Gdybyśmy chcieli pobrać tylko, powiedzmy, identyfikator, tytuł, wersję i to, czy artykuł jest ukryty. Musielibyśmy to określić za pomocą danych wyjściowych. Zademonstrujmy, jak wygląda notacja kropkowa w sekcji danych wyjściowych edytora:

Outputs to Test Results Annotated.png

Aby pobrać wyniki takie jak "id" i "title", musimy określić, gdzie te wyniki znajdują się w JSON. Treść danych wyjściowych to "data", odpowiadająca pierwszemu menu rozwijanemu w sekcji Test Results. Każdy wynik w rozwijanym menu "data" jest zagnieżdżony w tym obiekcie. W sekcji Outputs kropka oznacza przejście o jedną warstwę w głąb obiektu "data".

:::(Info) (UWAGA) Nie ma znaczenia, czy kropka jest umieszczona w treści, czy przed poszczególnymi właściwościami, o ile kropka oddziela każdą warstwę JSON :::

Outputs to Test Results2.png

Po kliknięciu zakładki Outputs w sekcji Test Results, dane wyjściowe odfiltrowują resztę danych, dzięki czemu widzimy tylko te informacje, na których nam zależy.

Innym sposobem zapisu danych wyjściowych jest pojedyncza linia. Pokazuje to pełną ścieżkę w jednym zapytaniu.

Outputs Single Line.png

Aby łatwo zapisać ścieżkę wyjściową, możesz także kliknąć wiersz danych, aby dodać go jako nowe dane wyjściowe.

Create Output Path.gif

Aby uzyskać więcej informacji na temat korzystania z notacji kropkowej, sprawdź ten zasób: Jak używać notacji kropkowej , aby uzyskać dostęp do informacji w obiekcie JSON.

Wyniki wyjściowe

Istnieje wiele sposobów strukturyzowania danych wyjściowych, ale sposób, w jaki to zrobisz, jest całkowicie zależny od tego, co chcesz zrobić z danymi w swoich aplikacjach. Zanim zaczniesz strukturyzować dane wyjściowe, zastanów się nad swoim celem końcowym. Czy chcesz wyświetlać wiele typów danych w poszczególnych zmiennych? A może masz te same typy danych w jednej tablicy, którą chcesz po prostu przeanalizować w poszukiwaniu odpowiednich informacji?

Poniższe przykłady opierają się na tej samej funkcji łącznika i w każdym przypadku treść wyników testu jest taka sama. Dane wyjściowe różnią się jednak w zależności od ich struktury.

Poniższy przykład pokazuje, w jaki sposób konektor generuje dane wyjściowe dla ścieżki JSON data.hits.slug. Sposób, w jaki skonstruowane są te dane wyjściowe, powoduje, że konektor zwraca dużą tablicę wszystkich slug adresów URL dla artykułów Bazy Wiedzy. W naszych aplikacjach dane zwracane przez konektor będą dostępne w zmiennej tablicowej.

Output 3x540 v2.png

Możemy ustrukturyzować dane wyjściowe jako listę obiektów i wyciągnąć poszczególne typy danych z wyników, tworząc wiele obiektów danych, które mogą być widoczne indywidualnie w aplikacjach.

Output 540x3.png

Listy obiektów to obiekty, które zawierają w sobie wiele zagnieżdżonych typów danych. Listy obiektów można używać, klikając typ wyjściowy i przełączając przełącznik Lista w prawym rogu.

Outputs Lists Toggle.gif

Gdy masz listę obiektów, możesz łatwo używać różnych typów danych jako pojedynczych elementów danych w swoich aplikacjach.

Jeśli wrócimy do powyższego przykładu, niech nasza ścieżka wyjściowa data.hits.slug będzie listą. W poniższych wynikach widać, że Tulip strukturyzuje ten konektor jako tablicę slugów, z każdą pozycją indeksu wymienioną obok każdej wartości.

Test Results as Slugs.png

Mając na uwadze to zrozumienie danych wyjściowych, możesz teraz zmapować dane wyjściowe do własnych funkcji konektorów i zoptymalizować zwracane wyniki z konektorów!

Więcej informacji


Czy znalazłeś to, czego szukałeś?

Możesz również udać się na stronę community.tulip.co, aby opublikować swoje pytanie lub sprawdzić, czy inni mieli do czynienia z podobnym pytaniem!


Czy ten artykuł był pomocny?