| Termin | Definicja |
|---|---|
| błędny format żądania | Błędny format żądania to ogólne określenie usterki niezgodności struktury zapytania z wymaganą specyfikacją API. Struktura żądania a kontrakt interfejsu APIBłędny format żądania oznacza, że zapytanie wysłane do interfejsu API nie ma struktury zgodnej z wymaganiami określonymi przez jego dokumentację. Serwer może oczekiwać danych zapisanych jako JSON, XML, formularz URL-encoded albo multipart/form-data, a otrzymać treść w innym formacie. Problem może dotyczyć również układu obiektów, nazw pól, typów wartości, obowiązkowych parametrów lub sposobu przekazania danych. Sam fakt, że żądanie dociera do serwera, nie oznacza więc, że może zostać poprawnie zinterpretowane. W przypadku API korzystającego z protokołu HTTP informacja o formacie danych jest często przekazywana w nagłówku Najczęstsze przyczyny odrzucenia danych wejściowychJedną z typowych przyczyn jest błąd składniowy w dokumencie JSON. Niepoprawne cudzysłowy, brak przecinka, dodatkowy przecinek na końcu obiektu, niezamknięta tablica albo użycie komentarzy mogą uniemożliwić parserowi odczyt treści. JSON wymaga stosowania podwójnych cudzysłowów wokół nazw właściwości i tekstowych wartości. Nie jest równoważny z zapisem obiektu używanym bezpośrednio w niektórych językach programowania. Błąd może wystąpić także wtedy, gdy klient wysyła zwykły tekst lub dane formularza, mimo że punkt końcowy API oczekuje obiektu JSON. Format żądania może być odrzucony również z powodów semantycznych. Przykładem jest przekazanie liczby jako tekstu, użycie wartości logicznej w miejsce daty albo umieszczenie pola na niewłaściwym poziomie zagnieżdżenia. Dokument może być formalnie poprawnym JSON-em, lecz nie spełniać schematu wymaganego przez konkretny punkt końcowy. Znaczenie ma także metoda HTTP. Żądanie Rozróżnienie błędu formatu od innych odpowiedzi APIW praktyce komunikat o błędnym formacie należy odróżnić od błędu uwierzytelniania, braku uprawnień, nieistniejącego zasobu i awarii serwera. Kod HTTP Diagnostykę rozpoczyna się od zapisania pełnego żądania: metody, adresu, parametrów, nagłówków oraz treści. Następnie warto porównać je z przykładem z dokumentacji i sprawdzić, czy klient nie modyfikuje danych przed wysłaniem. Pomocne jest ponowne zakodowanie treści JSON, kontrola kodowania znaków oraz sprawdzenie, czy nagłówek Sprawdzenie klienta, biblioteki i konfiguracji połączeniaJeżeli ten sam punkt końcowy działa w jednym programie, a zwraca błąd w innym, przyczyną może być różnica w sposobie serializacji danych. Biblioteka HTTP może automatycznie zamienić obiekt na JSON, ale może też oczekiwać już gotowego łańcucha znaków. Podwójne kodowanie prowadzi wtedy do wysłania tekstu zawierającego JSON zamiast właściwego obiektu. Podobny problem występuje przy ręcznym ustawieniu nagłówka W komputerze, na którym występuje problem, można porównać żądanie z działającym przykładem z użyciem narzędzi deweloperskich przeglądarki, dziennika aplikacji albo narzędzia testowego obsługującego HTTP. Istotne jest odtworzenie dokładnej kolejności: przygotowanie danych, serializacja, dodanie nagłówków, wysłanie żądania i odczyt odpowiedzi. Jeżeli błąd pojawia się po aktualizacji programu, należy zweryfikować zmianę biblioteki, ustawień formularza lub konfiguracji połączenia. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów i komputerów PC, w tym diagnostyką problemów z aplikacjami, konfiguracją oraz komunikacją programów z usługami sieciowymi. |