Урок 4 из 8 · 20 мин · обновлено
Первый запрос в Postman
Как установить Postman, создать коллекцию и отправить первый GET-запрос: адрес, параметры на вкладке Params, заголовки, код ответа, время и тело ответа.
Установка
Скачайте Postman с официального сайта postman.com и установите. При первом запуске он предложит войти в аккаунт: с ним коллекции сохраняются в облаке и доступны с любого компьютера. Для учёбы хватает бесплатного тарифа.
Похожие программы — Insomnia, Bruno, встроенный HTTP-клиент в редакторах кода. Принципы у всех одинаковые, и после Postman вы легко освоите любую.
Коллекция и первый запрос
Запросы в Postman хранят в коллекциях — папках с запросами. Создайте коллекцию:
- Слева в разделе Collections нажмите + и назовите коллекцию «Учебный магазин».
- В меню коллекции (три точки) выберите Add request и назовите запрос «Товар по номеру».
- Слева от строки адреса выберите метод GET, в строку вставьте
https://dummyjson.com/products/1. - Нажмите Send, а потом Save — Ctrl+S.
Внизу появится ответ сервера.
Читаем ответ
Над телом ответа Postman показывает:
- Status — код ответа:
200 OK; - Time — сколько сервер думал, например
150 ms; - Size — размер ответа.
Ниже — вкладки:
- Body — тело ответа. Режим Pretty показывает JSON с отступами и подсветкой;
- Headers — заголовки ответа. Например,
Content-Type: application/jsonговорит, что пришёл JSON.
Порядок проверки всегда один: сначала код — пришёл ли ожидаемый. Потом тело — те ли данные, в том ли формате. Код 200 ещё не значит, что всё правильно: сервер может бодро ответить «всё хорошо» и прислать пустой список.
Параметры и заголовки
Создайте в коллекции запрос «Поиск товаров». Адрес: https://dummyjson.com/products/search. Откройте вкладку Params и добавьте строки:
| Key | Value |
|---|---|
q |
phone |
limit |
2 |
select |
title,price |
Postman сам допишет их к адресу: …/products/search?q=phone&limit=2&select=title,price. Галочкой слева параметр можно временно выключить, не удаляя.
{
"products": [
{ "id": 101, "title": "Apple AirPods Max Silver", "price": 549.99 },
{ "id": 104, "title": "Apple iPhone Charger", "price": 19.99 }
],
"total": 23,
"skip": 0,
"limit": 2
}
Заголовки запроса задают на вкладке Headers так же: ключ и значение. Часть заголовков Postman добавляет сам — они спрятаны под ссылкой hidden.
Код вместо окон
Справа от запроса есть кнопка Code со значком </>. Она показывает тот же запрос как команду для терминала или код на разных языках:
curl --location 'https://dummyjson.com/products/search?q=phone&limit=2&select=title%2Cprice'
Запятая превратилась в %2C — так спецсимволы записывают в адресах. Такую команду удобно приложить к баг-репорту: разработчик повторит запрос одной строкой. Подробнее про curl — в курсе «Командная строка и Linux».
Попробуйте сами. Добавьте в коллекцию запрос «Список товаров» на https://dummyjson.com/products. С помощью параметров получите товары с 11-го по 15-й, только названия и цены. Затем отправьте запрос к товару с номером 1000 и посмотрите на код ответа.
Решение
Параметры на вкладке Params:
| Key | Value |
|---|---|
limit |
5 |
skip |
10 |
select |
title,price |
skip=10 пропускает первые 10 товаров, limit=5 берёт следующие пять — с 11-го по 15-й. В ответе будут товары с id от 11 до 15.
Запрос GET https://dummyjson.com/products/1000 вернёт 404 Not Found и тело {"message": "Product with id '1000' not found"}. Хороший API на несуществующий ресурс отвечает именно так — кодом 404 и понятным сообщением.
Мини-тест: проверьте себя
Закрепите урок: несколько вопросов, разбор ответов — в конце.
-
Зачем сохранять запросы в коллекцию?
Коллекция — набор готовых запросов к API. Её запускают снова после каждого изменения на сервере и передают коллегам.
-
Где в Postman удобнее всего задавать параметры вроде q=phone и limit=5?
Params — таблица «ключ — значение». Postman дописывает их к адресу после ? и экранирует символы.
-
Запрос вернул 200, но в ответе пустой список products, хотя товары по такому запросу должны быть. Это нормально?
Код — только первая проверка. Тестировщик смотрит и на содержимое: те ли данные, в том ли количестве и формате.