- Wydrukować
Jak sformatować dane wyjściowe łącznika HTTP
Dowiedz się, jak ustrukturyzować dane wyjściowe złącza HTTP.
Przegląd
Edytor funkcji konektorów w Tulipie pozwala na ustrukturyzowanie danych zwracanych przez funkcje konektorów tak, aby były one użyteczne i możliwe do wykorzystania w Twoich aplikacjach. W tym artykule omówimy podstawy formatowania funkcji konektora {{glosariusz.Output}} poprzez wprowadzenie do:
- Pojęciem konektora "Wyjście"
- Narzędzia dostępne do formatowania danych wyjściowych
- Różne popularne formaty wyjściowe
Czym są wyjścia?
Wyjścia są używane do definiowania i strukturyzowania wyników zwracanych przez funkcję złączenia. W ten sposób wyodrębnia się informacje ważne dla aplikacji z większego ciała zwrotnego HTTP.
Jak ustrukturyzować dane wyjściowe
Znajdź sekcję Outputs w lewej dolnej części edytora funkcji łącznika.
Aby rozpocząć dodawanie wyjść, kliknij Dodaj wyjścia funkcji.
Dobrą praktyką jest nazwanie wyjść etykietą, która jest możliwa do zidentyfikowania. Te nazwy pojawiają się w aplikacjach jako zmienne, więc ważne jest, aby móc je rozróżnić.
Aby zrozumieć wyniki żądania HTTP, ważne jest, aby najpierw zrozumieć kształt obiektu zwracanego w Wynikach testu. Poniższy diagram ilustruje, jak wyniki są podzielone na sekcje Obiektów i Tablice.
:::(Info) (UWAGA) Jeśli nie pracowałeś wcześniej z JSON, możesz być nieobeznany z dwoma krytycznymi datatypami, obiektami i tablicami. Tablice to listy wartości tego samego typu. Na przykład [1,2,3,5], lub [dąb, wiąz, olcha, hikora]. Wartości w tablicach są zawarte w nawiasach kwadratowych, [ ]. Obiekty są typem danych do przechowywania par klucz:wartość. Pary klucz:wartość wewnątrz obiektu mogą być wielu różnych typów, w tym tablic i obiektów zagnieżdżonych. Obiekty są zawarte w nawiasach klamrowych, { }. :::
Aby uzyskać więcej informacji na temat obiektów i tablic, sprawdź Understanding Arrays and Objects in Connector Function Outputs.
Notacja kropkowa
W przypadku łączników HTTP, dane wyjściowe używają formatu zwanego {{glossary.Dot Notation}}. Notacja kropkowa pozwala na dostęp do wartości wewnątrz obiektu. Notacja kropkowa jest przydatna do wyciągania tylko tego, co jest potrzebne z dużego ciała odpowiedzi {{glossary.JSON}} i daje większą elastyczność w tworzeniu funkcji złącza HTTP. Mówiąc prościej: jest to ustrukturyzowany format oparty na wartościach, które są zagnieżdżone w sobie.
Rozbijmy, jak notacja kropkowa jest używana w wyjściach złącza z przykładem.
Poniższy przykładowy obiekt o nazwie "employees" zawiera tablicę obiektów ze szczegółami dotyczącymi każdego pracownika. 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 związanych z interesującymi nas kluczami. Załóżmy, że chcemy uzyskać tylko pierwszy wynik. Określilibyśmy to, dodając pozycję indeksu pomiędzy nazwą obiektu głównego, "employees", a interesującą nas wartością, "title". Składnia wyglądałaby tak: employees.0.title. W przypadku bardziej złożonych obiektów może być konieczne przejście dalej do obiektu, aby wyciągnąć informacje, które chcesz.
Zróbmy to o krok dalej z innym przykładem. W tym przypadku powiedzmy, że jesteśmy zainteresowani stworzeniem funkcji konektora do wyciągania informacji związanych z artykułami w Bazie Wiedzy. Nasz konektor zwraca następujący obiekt JSON o nazwie "data" zawierający dane o konkretnym artykule:
Gdybyśmy chcieli wyciągnąć tylko, powiedzmy, ID, Tytuł, Wersję i czy artykuł jest ukryty czy nie. Musielibyśmy to określić za pomocą wyjść. Zademonstrujmy jak wygląda notacja kropkowa w sekcji outputs edytora:
Aby wyciągnąć wyniki takie jak "id" i "title", musimy określić, gdzie te wyniki znajdują się w JSON. Ciało wyjścia to "data", odpowiadające pierwszemu dropdownowi w sekcji Test Results. Każdy wynik w obrębie dropdownu "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 ciele, czy przed poszczególnymi właściwościami, tak długo jak kropka oddziela każdą warstwę JSON. :::
Gdy klikniemy zakładkę Outputs w sekcji Test Results, outputs odfiltrujemy resztę danych, dzięki czemu zobaczymy tylko te informacje, na których nam zależy.
Innym sposobem na zapisanie danych wyjściowych jest pojedyncza linia. To pokazuje pełną ścieżkę w jednym zapytaniu.
Aby łatwo oszukać, aby napisać ścieżkę wyjściową, możesz również kliknąć wiersz danych, aby dodać go jako nowe wyjście.
Aby uzyskać więcej informacji na temat używania notacji kropkowej, sprawdź ten zasób: How to Use Dot Notation to Access Information in a JSON Object.
Wyniki wyjścia
Istnieje wiele sposobów strukturyzowania danych wyjściowych, ale to, jak to zrobisz, zależy wyłącznie od tego, co chcesz zrobić z danymi w swojej aplikacji. 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? Czy może masz te same typy danych w jednej tablicy, którą chcesz po prostu przeglądać w poszukiwaniu istotnych informacji?
Poniższe przykłady są oparte na tej samej funkcji łącznika i w każdym przypadku ciało wyników testu jest takie samo. Wyjścia jednak różnią się w zależności od tego, jak są skonstruowane.
Poniższy przykład pokazuje, jak konektor wyprowadza dane wyjściowe dla ścieżki JSON data.hits.slug. W sposób, w jaki to wyjście jest skonstruowane, konektor zwraca dużą tablicę wszystkich slug URL dla artykułów Bazy Wiedzy. W naszych aplikacjach ten zwrot konektora będzie dostępny w ramach zmiennej tablicowej.
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.
Listy obiektów to obiekty, które zawierają w sobie wiele zagnieżdżonych typów danych. Użyj list obiektów, klikając typ wyjściowy i przełączając przełącznik Lista w prawym rogu.
Gdy masz listę obiektów, możesz łatwo używać różnych typów danych jako pojedynczych elementów w swoich aplikacjach.
Jeśli wrócimy do przykładu powyżej, uczyńmy naszą ścieżkę wyjściową data.hits.slug listą. Możesz zobaczyć w wynikach poniżej, że Tulip strukturyzuje ten zwrot złącza jako tablicę ślimaków, z każdą pozycją indeksu wymienioną obok każdej wartości.
Z tym zrozumieniem wyjść w umyśle, teraz możesz mapować wyjścia do własnych funkcji złącza i optymalizować zwracane wyniki z twoich złączy!
Dalsza lektura
- Używanie konektorów HTTP w aplikacjach
- Wyświetlanie interaktywnych list rekordów tabeli lub wyjścia konektora w aplikacji
Czy znalazłeś to, czego szukałeś?
Możesz również udać się na stronę community.tulip.co, aby zadać pytanie lub sprawdzić, czy inni spotkali się z podobnym pytaniem!