Odpowiedź serwera i typy danych
Składniki odpowiedzi. Kody statusu. Podstawowe typy danych.
Response, który przychodzi z serwera działa prawie według tego samego schematu co Request. Z oczywistych względów nie posiada parametrów żądania, ale Nagłówki i Ciało są zawarte w odpowiedzi (choć mogą być puste).
Istotną różnicą jest status odpowiedzi.
Kody statusu
Kod statusu. Pojawia się w pierwszej linii odpowiedzi serwera. Status to trzycyfrowa liczba (sam kod), po której następuje fraza wyjaśniająca go.
To właśnie po kodzie statusu można poznać wyniki zapytania i zrozumieć, jakie działania należy podjąć w następnej kolejności.
Wszystkie możliwe kody statusu podzielone są na 5 klas. Pierwsza cyfra kodu określa przynależność do danej klasy. Podzielmy je na.
1xx - kody informacyjne. Informują o postępie w realizacji żądania. W realnej praktyce są rzadko używane.
2xx - kody sukcesu. Informują, że wszystko jest w porządku i żądanie zostało zakończone pomyślnie. W odpowiedzi na żądanie GET zwykle spodziewamy się otrzymać kod 200 (OK). Udane żądanie PUT wysyła kod 201 (Created).
3xx - przekierowania. Wskazują, że żądanie powinno zostać wysłane na inny adres. Przykładem jest kod 301 (Moved Permanently), wskazujący, że wymagane dane znajdują się teraz pod nowym adresem (sam nowy adres jest przekazywany w nagłówku Location).
4xx - kody błędów klienta. Najbardziej znany z nich - 404 (Not Found), informuje, że pod podanym adresem nie ma potrzebnych danych. Inne często spotykane przypadki: 400 (Bad Request, błąd składni w żądaniu), 401 (Unauthorized, do dostępu wymagane jest uwierzytelnienie), 403 (Forbidden, odmowa dostępu).
5xx - kody błędów serwera. Zgłaszają błąd po stronie serwera. Jako przykład: 500 (Internal Server Error, każdy niezrozumiały błąd, który nie może być przypisany do znanego kodu), 503 (Service Unavailable, serwer tymczasowo nie jest w stanie przetworzyć żądania z przyczyn technicznych)
Typy danych
W tym momencie możemy przyjąć, że uporaliśmy się z podstawowymi informacjami pozwalającymi zrozumieć REST API oraz strukturę żądań i odpowiedzi HTTP. Pozostaje wyjaśnić tylko jedną kwestię - typy danych. Jeśli próbowałeś już stworzyć żądanie API w AppMasterze, prawdopodobnie zauważyłeś, że wszystkie dane (w parametrach, w nagłówkach, w ciele) proszą Cię o podanie nie tylko nazwy, ale także typu danych.
Zwykle jest to dość oczywiste dla człowieka, jak pracować z danymi, ponieważ istnieje pewien kontekst. Załóżmy, że wiemy, że 2 + 2 = 4. Domyślamy się, że są to liczby i wynikiem dodawania będzie kolejna liczba.
Ale mogą to nie być liczby, tylko dane tekstowe. Wtedy wynikiem ich dodania może być konkatenacja ciągów znaków i 2 + 2 zamieni się w "22". Tutaj, żeby komputer nie musiał nic wymyślać, jest dokładne wskazanie typu danych. A jednocześnie rozwiązywane są inne zadania. Na przykład zapewniona jest ochrona przed wprowadzeniem nieprawidłowych danych; początkowo nie ma możliwości zarejestrowania adresu e-mail w polu przeznaczonym do wpisywania cyfr numeru telefonu.
Różnych typów danych jest dość dużo, teraz rozważymy te najbardziej podstawowe, a w dalszych modułach kursu zapoznamy się z pozostałymi.
String - Typ danych String, zwykły tekst bez specjalnego formatowania.
Integer - typ danych Integer. Może być używany do liczników lub obliczeń, gdzie liczby ułamkowe nie są potrzebne.
Float - typ danych Floating point. Jest używany tam, gdzie potrzebna jest zwiększona precyzja, a wartości całkowite nie są wystarczające.
W tym miejscu może pojawić się pytanie logiczne. A dlaczego nie zawsze używać Float, po co nam wtedy Integer? Ale większa dokładność wymaga więcej zasobów. W przypadku niektórych małych obliczeń może to być zupełnie niewidoczne, ale w przypadku dużych ilości danych użycie rozsądnego typu danych może znacznie zmniejszyć wymagania dotyczące mocy obliczeniowej i przestrzeni dyskowej.
Boolean - typ danych typu boolean. Najprostszy typ danych. Przyjmuje jedną z dwóch wartości, które zapisywane są jako True lub False. Często można spotkać się z oznaczeniem w postaci 1 (prawda) i 0 (fałsz).