| Termin | Definicja |
|---|---|
| brak ścieżki zasobu | Brak ścieżki zasobu to usterka żądania API pozbawionego wskazania konkretnej lokalizacji danych do pobrania lub modyfikacji. Jak powstaje brak ścieżki zasobuBrak ścieżki zasobu oznacza, że żądanie skierowane do interfejsu API nie wskazuje jednoznacznie obiektu, kolekcji albo innej lokalizacji danych, z którą serwer ma wykonać operację. W adresie URL brakuje wtedy fragmentu identyfikującego zasób, na przykład identyfikatora rekordu, nazwy kolekcji lub wymaganej części hierarchii. Samo połączenie z serwerem może działać poprawnie, ale router aplikacji nie ma wystarczających informacji, aby wybrać właściwy handler. Problem może dotyczyć zarówno adresu zapisanego bezpośrednio w kodzie, jak i adresu zbudowanego dynamicznie. Przykładowo aplikacja może tworzyć żądanie do ścieżki Ścieżka, parametr zapytania i identyfikatorŚcieżka zasobu jest częścią adresu URI i służy do wskazania lokalizacji obsługiwanej przez serwer. Parametr ścieżki, na przykład Do utraty ścieżki dochodzi także podczas łączenia adresu bazowego z adresem względnym. Błędna normalizacja ukośników, nieuwzględnienie prefiksu wersji API albo przekazanie pustego segmentu może zmienić oczekiwany adres. Warto sprawdzić, czy identyfikator jest dostępny przed wysłaniem żądania, czy ma właściwy typ oraz czy został prawidłowo zakodowany dla URI. Znaki specjalne, spacje i znaki spoza ASCII wymagają odpowiedniego kodowania, ale kodowanie nie naprawi sytuacji, w której sama wartość identyfikatora nie została przekazana. Rozpoznanie błędu w komunikacji APIDiagnostykę należy rozpocząć od porównania żądania działającego z żądaniem kończącym się komunikatem o braku ścieżki. Trzeba odnotować metodę HTTP, pełny adres, nagłówki istotne dla routingu oraz moment, w którym aplikacja wylicza identyfikator zasobu. W narzędziach deweloperskich przeglądarki można sprawdzić rzeczywisty adres wysłany przez klienta, ponieważ adres widoczny w kodzie źródłowym może różnić się od wartości po interpolacji zmiennych. Znaczenie ma również kod odpowiedzi HTTP, ale jego interpretacja zależy od implementacji API. Brak ścieżki może zostać zgłoszony jako Zapobieganie pustym adresom zasobówOchroną przed tym błędem jest walidacja danych wejściowych przed wywołaniem klienta HTTP. Funkcja budująca adres powinna odrzucić pusty lub nieprawidłowy identyfikator i zwrócić błąd opisujący brak wymaganej wartości. Przydatne są również testy jednostkowe dla pustego identyfikatora, identyfikatora o niepoprawnym formacie, brakującego segmentu ścieżki oraz prawidłowego adresu. Test integracyjny powinien potwierdzać, że klient i router serwera używają tej samej struktury URL oraz tych samych nazw parametrów. W praktyce warto rejestrować metodę, znormalizowaną ścieżkę i wynik routingu, nie zapisując przy tym danych, które nie są potrzebne do diagnozy. Jeżeli błąd pojawia się tylko na jednym komputerze, należy dodatkowo sprawdzić wersję aplikacji, konfigurację adresu bazowego API, działanie przeglądarki oraz ewentualne rozszerzenia modyfikujące żądania. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i ich podzespołów. W przypadku problemu z aplikacją uruchamianą na takim urządzeniu diagnostyka powinna rozdzielać usterkę sprzętową od błędu w kodzie klienta, konfiguracji albo po stronie samego API. |