В современной веб‑разработке и интеграции систем HTTP REST API стали стандартом взаимодействия между клиентами и серверами. Практически любое мобильное приложение, SPA или микросервис общается с бэкендом через API. Для удобного тестирования, отладки и документирования таких API широко используется инструмент Postman.
Что такое HTTP REST API
REST (Representational State Transfer) - это архитектурный стиль построения API, основанный на работе поверх протокола HTTP. REST‑API использует стандартные HTTP‑методы, URL и коды ответов для взаимодействия между клиентом и сервером.
Ключевые принципы REST:
Пример REST‑эндпоинта:
GET https://catfact.ninja/fact
Он возвращает JSON с интересным фактом о кошках.
HTTP‑методы
HTTP‑методы определяют какое действие клиент хочет выполнить над ресурсом.
Postman
Postman - это мощный инструмент для работы с API, который позволяет:
Postman подходит как для разработчиков, так и для QA‑инженеров.
Collections
Коллекция - это логическая группа запросов. Обычно одна коллекция соответствует:
Пример:
Cat Facts API ├── Get random fact ├── Get facts list
Коллекции удобно экспортировать, импортировать и запускать целиком.
Folders
Внутри коллекций можно создавать папки для дополнительной структуры:
Это особенно полезно для больших API с десятками эндпоинтов.
Requests
Каждый запрос в Postman состоит из:
Пример запроса:
GET https://catfact.ninja/fact
Ответ:
{
"fact": "Cats have five toes on their front paws, but only four on the back.",
"length": 63
}
Authorization
Секция Authorization позволяет настраивать авторизацию:
Scripts
- Pre‑request Script
Скрипты, которые выполняются до отправки запроса. Обычно используются для:
Пример:
pm.environment.set("timestamp", Date.now());
- Post‑response Script (Tests)
Выполняется после получения ответа. Используется для тестов и проверок.
Variables
Postman поддерживает переменные:
Пример использования:
{{base_url}}/fact
, где base_url = https://catfact.ninja
Runs для коллекций (Collection Runner)
Collection Runner позволяет:
Это основа для API‑тестирования и CI/CD.
Написание тестов в Postman
Postman использует JavaScript и библиотеку pm.
- Проверка статус‑кода:
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
- Проверка JSON‑ответа:
pm.test("Response has fact", function () {
const json = pm.response.json();
pm.expect(json).to.have.property("fact");
});
- Проверка типа данных:
pm.test("Length is a number", function () {
const json = pm.response.json();
pm.expect(json.length).to.be.a("number");
});
- Сохранение значения в переменную:
const json = pm.response.json();
pm.environment.set("cat_fact", json.fact);
Source: Orkhan Alishov's notes