Postman – testowanie API

TL;DR: Postman to darmowe narzędzie do testowania API które zastępuje skomplikowane curl commands prostym interfejsem graficznym. Pozwala wysyłać żądania HTTP, sprawdzać odpowiedzi i organizować testy w kolekcje.

Dlaczego Postman jest niezbędny każdemu developerowi?

Testowanie API za pomocą curl w terminalu to nightmare dla większości programistów. Postman rozwiązuje ten problem oferując przyjazny interfejs graficzny do wysyłania żądań HTTP, sprawdzania odpowiedzi i organizowania testów. To jak przejście z notepad na prawdziwe IDE – once you go Postman, you never go back.

Postman jest kompletnie darmowy i dostępny na Windows, Mac oraz Linux. Nie wymaga rejestracji do podstawowego użytkowania.

Co się nauczysz:

  • Jak zainstalować i skonfigurować Postman
  • Wysyłanie różnych typów żądań HTTP (GET, POST, PUT, DELETE)
  • Dodawanie headers i body do żądań
  • Organizowanie żądań w Collections
  • Podstawowe testowanie odpowiedzi API
Wymagania wstępne: Podstawowa znajomość HTTP (GET/POST), pojęcie czym jest API, experience z jakąkolwiek aplikacją webową.

Czym jest Postman?

Postman to aplikacja desktopowa która zastępuje skomplikowane komendy curl prostym interfejsem typu point-and-click. Zamiast pisać:

curl -X POST http://api.example.com/users \
  -H "Content-Type: application/json" \
  -d '{"name":"John","email":"john@example.com"}'

Po prostu klikasz, wpisujesz dane w formularz i naciskasz Send. Prostsze, szybsze i mniej podatne na błędy.

API (Application Programming Interface) – sposób komunikacji między aplikacjami za pomocą żądań HTTP. Jak zamówienie w restauracji – podajesz co chcesz (request) i dostajesz odpowiedź (response).

Instalacja i pierwsze uruchomienie

Download i instalacja

  1. Idź na https://www.getpostman.com/
  2. Kliknij „Download the App” (desktop app jest lepsza niż Chrome extension)
  3. Zainstaluj jak każdą normalną aplikację
  4. Uruchom – nie musisz się rejestrować, kliknij „Skip signing in”

Pro tip: Desktop app jest szybsza i ma więcej funkcji niż Chrome extension. Zawsze wybieraj desktop version.

Pierwszy test API – GET request

Przetestujmy publiczne API które zwraca informacje o użytkownikach:

Krok po kroku:

  1. Otwórz nowy request: Kliknij „New” → „Request”
  2. Wpisz URL: https://jsonplaceholder.typicode.com/users/1
  3. Wybierz metodę: GET (domyślnie jest wybrane)
  4. Kliknij Send

JSONPlaceholder to darmowe API do testowania stworzone specjalnie dla programistów. Zwraca fake data w formacie JSON.

Co zobaczysz w odpowiedzi:

{
  "id": 1,
  "name": "Leanne Graham",
  "username": "Bret",
  "email": "Sincere@april.biz",
  "address": {
    "street": "Kulas Light",
    "suite": "Apt. 556",
    "city": "Gwenborough",
    "zipcode": "92998-3874"
  },
  "phone": "1-770-736-8031 x56442",
  "website": "hildegard.org"
}

W dolnej części zobaczysz też ważne informacje:

  • Status: 200 OK (request się udał)
  • Time: czas odpowiedzi w milisekundach
  • Size: rozmiar odpowiedzi

Wysyłanie POST request – tworzenie danych

Teraz wyślijmy dane do API. Stworzymy nowego użytkownika:

Konfiguracja POST request:

  1. Nowy request: „New” → „Request”
  2. URL: https://jsonplaceholder.typicode.com/users
  3. Metoda: Zmień z GET na POST
  4. Headers: Dodaj Content-Type
    • Key: Content-Type
    • Value: application/json
  5. Body: Kliknij tab „Body” → „raw” → wklej JSON:
{
  "name": "Jan Kowalski",
  "username": "janko",
  "email": "jan@example.com",
  "phone": "123-456-789"
}

Pułapka: Pamiętaj o ustawieniu Content-Type na application/json gdy wysyłasz JSON data. Bez tego API może nie zrozumieć twojego żądania.

Organizowanie żądań w Collections

Collections to sposób na organizowanie związanych ze sobą API requests – jak foldery dla plików.

Tworzenie Collection:

  1. Kliknij „New” → „Collection”
  2. Nazwa: „User API Tests”
  3. Opis: „Testing user CRUD operations”
  4. Zapisz requests: W każdym request kliknij „Save” i wybierz Collection

Pro tip: Nazywaj requests opisowo: „Get User by ID”, „Create New User”, „Update User Email”. Za miesiąc będziesz wdzięczny sam sobie.

Podstawowe typy żądań HTTP

MetodaCelPrzykład użycia
GETPobieranie danychLista użytkowników, szczegóły produktu
POSTTworzenie nowych danychRejestracja użytkownika, nowe zamówienie
PUTAktualizacja całego rekorduZmiana wszystkich danych użytkownika
DELETEUsuwanie danychUsunięcie konta, anulowanie zamówienia

Przykład DELETE request:

  1. URL: https://jsonplaceholder.typicode.com/users/1
  2. Metoda: DELETE
  3. Send – powinieneś dostać status 200 lub 204

Sprawdzanie odpowiedzi API

Postman pokazuje odpowiedź w różnych formatach:

Zakładki Response:

  • Pretty: Sformatowany JSON (najczytelniejszy)
  • Raw: Surowa odpowiedź jak przyszła z serwera
  • Preview: Jak wyglądałaby strona w przeglądarce
Status codes to kody odpowiedzi HTTP:
• 200 = OK (wszystko w porządku)
• 404 = Not Found (nie znaleziono)
• 500 = Server Error (błąd serwera)

Przydatne features dla początkujących

Environment Variables

Zamiast przepisywać cały URL, możesz użyć zmiennych:

  1. Kliknij gear icon → „Manage Environments”
  2. Add Environment: „Development”
  3. Dodaj zmienną:
    • Variable: api_url
    • Value: https://jsonplaceholder.typicode.com
  4. W URL użyj: {{api_url}}/users

History wszystkich żądań

Postman automatycznie zapisuje wszystkie wysłane żądania w History. Znajdziesz je w lewym sidebar. Super przydatne gdy chcesz powtórzyć jakiś test.

Czy Postman jest darmowy?

Tak, podstawowa wersja Postman jest kompletnie darmowa. Płatne są tylko advanced features jak team collaboration i monitoring, które nie są potrzebne początkującym.

Czy mogę testować lokalny serwer (localhost)?

Oczywiście! Używaj URL typu http://localhost:8080/api/users. To jeden z głównych use cases Postman – testowanie API podczas developmentu.

Co to jest Content-Type header?

Content-Type mówi serwerowi jakiego typu dane wysyłasz. application/json dla JSON, application/xml dla XML, text/plain dla zwykłego tekstu.

Jak dodać authorization do żądania?

W Postman jest osobna zakładka „Authorization”. Możesz wybrać typ (Basic, Bearer Token, API Key) i Postman automatycznie doda odpowiednie headers.

Czym różni się PUT od POST?

POST tworzy nowe zasoby, PUT aktualizuje istniejące. POST na /users tworzy nowego usera, PUT na /users/123 aktualizuje usera o ID 123.

🚀 Zadanie dla Ciebie

Przetestuj kompletny CRUD (Create, Read, Update, Delete) na JSONPlaceholder API:

  1. GET wszystkich users: https://jsonplaceholder.typicode.com/users
  2. POST nowego user z twoimi danymi
  3. PUT aktualizacja user o ID 1
  4. DELETE user o ID 1

Zapisz wszystkie requesty w Collection „My First API Tests” i sprawdź czy dostajesz odpowiednie status codes.

Przydatne zasoby:

Jakiej metody używałeś do testowania API przed poznaniem Postman? Które funkcje wydają ci się najbardziej przydatne?

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Przewijanie do góry