Jak sformatować dane wyjściowe łącznika HTTP
  • 26 Mar 2023
  • 4 Minuty do przeczytania
  • Współtwórcy

Jak sformatować dane wyjściowe łącznika HTTP


Article Summary

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.

Testing Outputs.gif

Jak ustrukturyzować dane wyjściowe

Znajdź sekcję Outputs w lewej dolnej części edytora funkcji łącznika.

Outputs3.png

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ć.

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, jak wyniki są podzielone na sekcje Obiektów i Tablice.

Object Anatomy Diagram.png

:::(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.

Outputs Ex2.png

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:

Test Results Article Ex.png

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:

Outputs to Test Results Annotated.png

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. :::

Outputs to Test Results2.png

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.

Outputs Single Line.png

Aby łatwo oszukać, aby napisać ścieżkę wyjściową, możesz również kliknąć wiersz danych, aby dodać go jako nowe wyjście.

Create Output Path.gif

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.

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. Użyj list obiektów, 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 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.

Test Results as Slugs.png

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


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!


Czy ten artykuł był pomocny?