Operator CALL REST API umożliwia integrację z dowolnym zewnętrznym serwisem REST, oferując pełną elastyczność w zakresie konfiguracji wywołań HTTP. Działa na poziomie pojedynczego wywołania (niezależnie od ilości rekordów na magistrali) lub pojedynczych rekordów magistrali, co oznacza, że dla każdego rekordu wykonuje osobne zapytanie, przesyłając dane w wymaganym formacie i odbierając odpowiedź.
Operator pozwala na:
Dzięki temu operatorowi GRAVITY może działać jako aktywny klient usług zewnętrznych, automatyzując pobieranie, przesyłanie i synchronizację danych w czasie rzeczywistym.
Przykład projektu z użyciem operatora CALL REST API.
Operator jest operatorem bliźniaczym z INPUT REST API i główne szczegóły konfiguracji są opisane na tym operatorze.
Występują jednak pewne różnice wynikające z faktu, że operator jest operatorem środkowym - wpiętym w magistralę, a co za tym idzie domyślnie przetwarzanie uruchamiane jest dla każdego rekordu magistrali danych. W takim przypadku możliwe jest użycie bitów magistrali do budowy zarówno body jak i adresu wywoływanej usługi. Również dane zwracane przez serwis jak i wartość status code wstawiane są do każdego rekordu magistrali, dla którego nastąpiło wywołanie usługi. Możliwe jest również podanie wcześniej przygotowanych bitów (np. prze operator WIDTH BUSBAR ) do przechowania tych danych.
Zakładka Execution wymaga określenia czy wywołanie ma być w trybie Single execution (jeden raz dla wszystkich rekordów) czy dla każdego rekordu osobno. W polu Result target możliwe jest wybranie opcji Value into an existing column pozwalające na wybór kolumny z magistrali gdzie trafi rezultat zwracany przez serwis. Podobnie z pozostałymi kolumnami.
W przypadku zaznaczenia trybu Single execution operator będzie się zachowywać jak operator INPUT REST API. Wykona się tylko raz. Zwróci magistralę wyjściową zbudowaną z jednego rekordu z wartością status code i rezultatem zwróconym z serwisu. Nie można będzie użyć bitów magistrali w budowie adresu usługi, parametrach wywołania itp.
Jedyne miejsce możliwe do użycia bitów magistrali będzie w body typu raw, gdzie będzie możliwość zbudowania body wysyłanego do usługi z znacznikami LOOP i ENDLOOP.
Tekst w znacznikach zostanie powielony tyle razy ile było rekordów na magistrali wejściowej.
W przypadku wywołania dla każdego rekordu możliwe staje używanie bitów magistrali w budowie adresu, parametrów i body zapytania do usługi.
Wywołanie usługi nastąpi tyle razy ile będzie rekordów na magistrali wejściowej, a rezultat wywołania zostanie przekazany do bitów wskazanych w zakładce Execution.
<aside> <img src="/icons/info-alternate_green.svg" alt="/icons/info-alternate_green.svg" width="40px" /> Zapoznaj się z uruchamianiem projektu w trybie debugera
</aside>