Przejdź do treści
Wróć do kursuAPI i QA / Lekcja 2 z 8

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”.

RequestZnaczenieKiedy użyć
/postsLista postówGdy chcesz zobaczyć ogólny kształt danych
/posts?userId=1Posty użytkownika 1Gdy diagnozujesz konkretny przypadek
Accept: application/jsonOczekujesz JSON-aGdy chcesz jasno opisać format odpowiedzi

Request w Postmanie

W zakładce Params dodajesz parę userId → 1. Postman sam doklei ją do URL-a.

Postman: zakładka Params z tabelą Query Params i parametrem userId powiązanym z URL-em
Query params i URL to dwa widoki tej samej rzeczy.
  1. Zakładki requestu — tu przełączasz się na Params.
  2. Tabela Query Params — klucz i wartość wpisujesz osobno.
  3. Zmiana w tabeli od razu dopisuje się do URL-a i odwrotnie.
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

Kształt danych
Czy odpowiedź jest listą, czy jednym obiektem? Inaczej testuje się listę wyników, inaczej profil użytkownika.
Warunek
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ć.

Ty wybierasz, co zapamiętuję.

Niezbędne cookies obsługują konto i zapis prób. Jeśli chcesz, możesz włączyć analitykę publicznych stron i pamięć zaproszenia do newslettera. Sam newsletter wymaga osobnego zapisu. Szczegóły w polityce prywatności.

List z warsztatu

Podeślę Ci
coś ciekawego.

Co jakiś czas podeślę Ci nowe materiały o IT i dam znać o kursach. Jeśli masz ochotę, zostaw swój e-mail.

Zapis aktywuje się dopiero po potwierdzeniu adresu. Bezpłatnie, bez obowiązku zakupu. Konto kursanta ma osobne zgody.