Definicja API Rest
Definicja odpowiedzi
API obsługuje TYLKO usługi RESTowe, które zwracają typ application/json .
Domyślny ContentType z jakim wysyłamy zapytania do usługi to application/json. Obsługiwany jest również multipart/form-data, jeżeli w nagłówku zostanie przekazany parametr {'Content-Type': 'multipart/form-data'}. Na przykład:
api.rest.v1.get('serviceId', {queryParams: {'key': 'value'}}, {'Content-Type': 'multipart/form-data'});Odpowiedź z usługi wygląda następująco:
{
status: {
code: int,
message: String
},
headers: Map<String, String>,
body: Map<String, Object>
}Wszystkie elementy w odpowiedzi są przetworzone jako natywne zmienne w JavaScript. Można się do nich dostać np. w ten sposób:
response.status.code // <--- uzyskanie wartości z pola `code`, zawierającego kod odpowiedzi, np. 200
response.status.message // <--- uzyskanie wartości z pola `message`, zawierającego wiadomość odpowiedzi, np. "Accepted"
response.headers.language // <--- uzyskanie wartości nagłówka zwrotnego o nazwie `language`
response.body.user.type // <--- uzyskanie wartości konkretnego pola z odpowiedzi, gdzie odpowiedź ma wygląd: {"user": {"type": "typUzytkownika"}}Definicja wyjątku
W przypadku innego kodu zwrotnego, niż 2XX dostaniemy wyjątek możliwy do obsłużenia. Np. w sytuacji z kodem 404 (usługa nie dostępna lub błędny adres), kod 405 (niepoprawna metoda) lub kod 500 (błąd wewnętrzny po stronie usługi).
Wyjątek wygląda następująco:
Aby zweryfikować, czy jest to wyjątek do obsłużenia przez nas, możemy sprawdzić, czy złapany element posiada pola, które nas interesują.
Definicja żądania
Żądanie może zostać sparametryzowane.
Żądania mogą zawierać payload:
Oraz mogą być bez payloadu:
Poniżej definicja parametrów:
Definicja PATH wygląda następująco:
Definicja TIMEOUTS wygląda następująco:
Brak TIMEOUTS
W momencie gdy obiekt TIMEOUTS nie zostanie zdefiniowany dla wykonanego zapytania REST zostaną nadane wartości zaczerpnięte z konfiguracji. Znajdują się one w parametrach:
<config>
<eximee> <restclient> <connection-timeout> <default>1000</default> <maximum>10000</maximum> </connection-timeout> <read-timeout> <default>10000</default> <maximum>30000</maximum> </read-timeout> </restclient> </eximee>
</config>
Parametr:
default określa wartość zaciąganą gdy obiekt TIMEOUTS nie zostanie zdefiniowany
maximum określa maksymalną wartość jaką może ustawić LOW-CODE Developer podczas przygotowywania zapytania (jeśli ustawi większą niż podana zostanie ustawiona wartość maximum)
Przykładowe wykonanie żądań znajdują się w sekcjach niżej.
Żądania
Dla każdego z poniższych żądań zakładamy spójną konfigurację:
GET
Żądanie bez payloadu.
Przykłady:
Oraz przykładowy ScriptService:
DELETE
Żądanie bez payloadu.
Przykłady:
Oraz przykładowy ScriptService:
POST
Żądanie z payloadem.
Przykłady:
Oraz przykładowy ScriptService:
PUT
Żądanie z payloadem.
Przykłady:
Oraz przykładowy ScriptService:
PATCH
Żądanie z payloadem.
Przykłady:
Oraz przykładowy ScriptService:
Eximee Designer
W Eximee Designer zostały dostarczone podpowiedzi API.



Oraz podpowiedzi możliwych serviceId do wykorzystania w aktualnym momencie. W przypadku problemu z pobraniem aktualnej listy serviceId, edytor kontynuuje działanie, ale nie dostarcza informacji o żadnym serviceId.


Testowanie API (Postman)
Postman to narzędzie do testowania i pracy z API, które pozwala łatwo wysyłać zapytania HTTP (np. GET, POST) i analizować odpowiedzi serwera. (https://www.postman.com/)
Last updated
Was this helpful?
