Lekcja 2 / świadomy odczyt
GET w praktyce: parametry, headers i czytanie JSON-a
Support pyta: „pokaż tylko posty użytkownika 1, bo w panelu widzi cudze wpisy”. Teraz sam endpoint to za mało. Musisz dodać parametr i sprawdzić, czy odpowiedź pasuje do pytania.
Masz pytanie, więc zawężasz request
Bez parametru endpoint może zwrócić wszystko. Z parametrem mówisz API: interesują mnie tylko rekordy, które spełniają konkretny warunek. To podobne do rozmowy: zamiast „daj posty”, pytasz „daj posty użytkownika 1”.
| Request | Znaczenie | Kiedy użyć |
|---|---|---|
/posts | Lista postów | Gdy chcesz zobaczyć ogólny kształt danych |
/posts?userId=1 | Posty użytkownika 1 | Gdy diagnozujesz konkretny przypadek |
Accept: application/json | Oczekujesz JSON-a | Gdy chcesz jasno opisać format odpowiedzi |
Request w Postmanie
W zakładce Params dodajesz parę userId → 1. Postman sam doklei ją do URL-a.
GET https://jsonplaceholder.typicode.com/posts?userId=1
Accept: application/json
W odpowiedzi dostajesz listę obiektów. Każdy obiekt powinien mieć userId równe 1.
To jest konkretna rzecz do sprawdzenia, a nie ogólne „działa”.
[
{
"userId": 1,
"id": 1,
"title": "sunt aut facere...",
"body": "quia et suscipit..."
}
]
Na co patrzysz w JSON-ie
Czy odpowiedź jest listą, czy jednym obiektem? Inaczej testuje się listę wyników, inaczej profil użytkownika.
Czy każdy element ma
userId: 1? Jeśli nie, API oddaje dane spoza zakresu pytania.
Header Accept nie jest ozdobą. To informacja, w jakim formacie klient oczekuje odpowiedzi.
W wielu API nagłówki decydują też o wersji API, języku odpowiedzi albo autoryzacji.
Ćwiczenie
Wyślij GET /posts?userId=2. Sprawdź trzy rzeczy: status, czy odpowiedź jest listą,
oraz czy każdy obiekt ma userId równy 2.
Mini-zadanie
Usuń parametr userId i porównaj długość odpowiedzi z requestem filtrowanym.
Większa praktyka
Napisz krótką notatkę: „Request bez parametru zwraca..., request z parametrem zwraca..., dlatego w zgłoszeniu użytkownika lepiej użyć...”.
Quiz
Gdzie w Postmanie najwygodniej dodać userId=1?
W zakładce Params jako parę key/value. Postman zbuduje URL z query stringiem.
Co oznacza JSON zaczynający się od [?
Najczęściej listę elementów. To ważne, bo sprawdzasz wtedy każdy element albo liczbę elementów.
Czy header zawsze jest wymagany?
Nie zawsze, ale w pracy QA warto wiedzieć, jakie nagłówki zmieniają odpowiedź albo dostęp.
Co dalej?
Umiesz już odczytać dane i zawęzić request. Następny krok to wysyłanie danych w body, czyli moment, w którym request zaczyna coś tworzyć albo zmieniać.