| Termin | Definicja |
|---|---|
| brak danych w odpowiedzi | Brak danych w odpowiedzi to usterka API, w którym zwrócony wynik nie zawiera oczekiwanych informacji. Na czym polega brak danych w odpowiedzi APIBrak danych w odpowiedzi to sytuacja, w której aplikacja otrzymuje odpowiedź od interfejsu programistycznego, ale w jej treści nie ma informacji potrzebnych do wykonania dalszej operacji. Samo połączenie z usługą może być wtedy aktywne, a serwer może zwrócić poprawny technicznie komunikat HTTP. Problem polega na tym, że odpowiedź jest pusta, zawiera wartość Nie należy utożsamiać tej usterki wyłącznie z kodem HTTP 404 lub 500. Kod 404 oznacza, że żądany zasób nie został znaleziony, natomiast 500 informuje o błędzie po stronie serwera. Brak danych może wystąpić również przy kodzie 200, który oznacza pomyślne przetworzenie żądania, lecz nie gwarantuje, że odpowiedź zawiera oczekiwane rekordy. W zależności od projektu API pusta odpowiedź może być prawidłowym wynikiem zapytania, na przykład gdy filtr nie pasuje do żadnych elementów, albo może wskazywać na błąd logiki, niezgodność wersji interfejsu lub problem z generowaniem danych. Typowe przyczyny pustej lub niepełnej odpowiedziJedną z częstych przyczyn jest wysłanie nieprawidłowych parametrów. Literówka w nazwie pola, niepoprawny identyfikator, błędny zakres dat, niewłaściwy format wartości lub brak obowiązkowego parametru mogą sprawić, że serwer nie znajdzie pasujących danych. W niektórych interfejsach taki przypadek kończy się kodem 400, ale inne implementacje zwracają kod 200 z pustą tablicą. Podobny efekt może powstać po zastosowaniu zbyt restrykcyjnego filtra albo po przekazaniu identyfikatora elementu należącego do innego konta, projektu lub środowiska. Źródłem problemu bywa także autoryzacja. Token może być wygasły, nie mieć wymaganego zakresu uprawnień albo zostać przesłany w nieprawidłowym nagłówku Diagnostyka po stronie aplikacji i połączeniaDiagnostykę należy rozpocząć od zapisania pełnych informacji o żądaniu i odpowiedzi: metody HTTP, adresu bez poufnych tokenów, parametrów, kodu statusu, nagłówka Przydatne jest powtórzenie tego samego żądania niezależnie od aplikacji, na przykład za pomocą narzędzia obsługującego HTTP, takiego jak Program powinien sprawdzać odpowiedź przed użyciem jej zawartości. Dostęp do zagnieżdżonego pola bez weryfikacji może powodować wyjątki, takie jak próba odczytu właściwości obiektu o wartości Znaczenie problemu dla laptopa i komputera PCNa komputerze użytkownika brak danych w odpowiedzi API może objawiać się pustą listą w aplikacji, brakiem podglądu dokumentów, niezaładowanym panelem konta, niedziałającym wyszukiwaniem albo komunikatem o braku informacji mimo prawidłowego dostępu do Internetu. Nie zawsze oznacza to awarię sprzętu. Diagnostyka powinna obejmować sprawdzenie daty i godziny systemowej, działania DNS, połączenia przez inną sieć, zapory sieciowej, ustawień serwera proxy oraz aktualności aplikacji. Błędny czas systemowy może uniemożliwić weryfikację certyfikatu lub tokenu, a uszkodzona pamięć podręczna może powodować używanie nieaktualnych parametrów i adresów usługi. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i podzespołów, a w ramach diagnostyki można sprawdzić, czy problem z aplikacją wynika z konfiguracji systemu, połączenia sieciowego, uszkodzonego oprogramowania lub niewłaściwej komunikacji z API. Przy zgłoszeniu warto podać nazwę programu, moment wystąpienia problemu, dokładny komunikat, informację, czy inne urządzenia działają poprawnie, oraz przykładowy czas wystąpienia błędu. Takie dane pomagają odróżnić lokalną awarię komputera od problemu występującego po stronie zewnętrznej usługi. Jeżeli problem pojawia się tylko w jednej aplikacji, można rozpocząć od jej aktualizacji, ponownego logowania i sprawdzenia ustawień sieciowych. Gdy puste odpowiedzi występują w wielu programach, należy zweryfikować połączenie, systemowe usługi sieciowe i działanie zabezpieczeń. W przypadku usługi zewnętrznej użytkownik komputera nie może naprawić błędu po stronie serwera, ale może zebrać kod statusu, czas żądania i identyfikator zgłoszenia, aby administrator lub dostawca API mógł prześledzić konkretną operację. |