Введение в API

Введение в API

Введение

Мы уже знаем, что такое API в общих чертах. Теперь погрузимся глубже: разберём виды API, познакомимся с REST, рассмотрим реальные примеры запросов и ответов. А главное — поймём, какими инструментами пользуется тестировщик для работы с API.


Виды API

По доступности:

ВидОписаниеПример
Публичный (Public)Открыт для всех разработчиковAPI погоды, GitHub API
Приватный (Private)Только для внутренних систем компанииAPI между микросервисами
ПартнёрскийДоступен доверенным партнёрамAPI платёжной системы для магазинов

REST API

REST (Representational State Transfer) — самый популярный стиль веб-API.

Ключевые принципы REST:

  • Ресурсы адресуются URL-ами: /users, /orders/5, /products
  • HTTP-методы определяют действие: GET = читать, POST = создать, DELETE = удалить
  • Stateless: сервер не хранит состояние между запросами
  • Ответ обычно в JSON

Примеры REST эндпоинтов:

GET    /api/users           → список всех пользователей
GET    /api/users/7         → пользователь с ID 7
POST   /api/orders          → создать новый заказ
DELETE /api/products/5      → удалить товар с ID 5
PATCH  /api/users/7         → обновить отдельные поля пользователя 7

Реальный пример: авторизация

Запрос:

POST /api/login
Content-Type: application/json

{
  "email": "user@example.com",
  "password": "mypassword123"
}

Успешный ответ (200 OK):

{
  "token": "eyJhbGciOiJIUzI1NiIsInR...",
  "user": {
    "id": 42,
    "email": "user@example.com",
    "name": "Анна"
  }
}

Ответ при неверном пароле (401 Unauthorized):

{
  "error": "Неверный email или пароль"
}

Токен авторизации

После логина сервер возвращает токен — длинную строку, которая доказывает, что ты авторизован.

В дальнейших запросах этот токен передаётся в заголовке:

GET /api/profile
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR...

Если токен не передан или просрочен — сервер вернёт 401 Unauthorized.


Инструменты тестировщика для работы с API

Postman

Самый популярный инструмент. Позволяет:

  • Составлять и отправлять HTTP-запросы
  • Сохранять запросы в коллекции
  • Писать автоматические проверки (тесты)
  • Работать с переменными (токен, base URL)

curl

Консольный инструмент. Пример:

curl -X GET https://api.example.com/users \
  -H "Authorization: Bearer my-token"

DevTools (вкладка Network)

Встроен в браузер (F12). Позволяет:

  • Видеть все запросы, которые делает страница
  • Смотреть заголовки, тело запроса и ответа
  • Копировать запросы как curl для воспроизведения

Зачем тестировщику API-знания

  1. Валидация бизнес-логики независимо от UI
  2. Создание тестовых данных быстро и точно
  3. Обход UI для воспроизведения багов — дать разработчику точный curl-запрос
  4. Тестирование граничных случаев — отправить данные, которые нельзя ввести через форму
  5. Проверка безопасности — попробовать получить чужие данные, сделать запрос без токена

Типичные ошибки

  • "Тестировать API сложно" — с Postman это доступно любому тестировщику
  • "Раз API вернул 200, значит всё хорошо" — смотри на тело ответа! Данные могут быть неверными
  • "API тестируют только разработчики" — нет, это ключевая компетенция QA-инженера

Что мы запомним

  • API бывает публичным, приватным и партнёрским
  • REST API: ресурсы в URL, HTTP-методы определяют действие, stateless
  • После логина сервер выдаёт токен, который передаётся в заголовке Authorization
  • Инструменты: Postman, curl, DevTools Network
  • API-тестирование — это не опция, а необходимый навык современного тестировщика

Попробуйте интерактивную версию

Практические задачи, квизы и AI-наставник — бесплатный старт без карты

Перейти к практике