Шпаргалка по API и Postman
Всё главное из курса «Postman и API для начинающих» , собранное по задачам. В колонке «Урок» — где тема разобрана подробно. Примеры — для учебного API https://dummyjson.com.
HTTP-методы
Метод
Что делает
Пример
Урок
GET
получить данные
GET /products/1
2
POST
создать
POST /products/add
5
PUT
изменить целиком
PUT /products/1
5
PATCH
изменить часть
PATCH /products/1
5
DELETE
удалить
DELETE /products/1
5
Коды ответа
Код
Что значит
Урок
200 OK
успех
2
201 Created
создано
2
400 Bad Request
неверный запрос: не хватает полей, неверный формат
2
401 Unauthorized
нужна авторизация: нет токена или он истёк
2
403 Forbidden
доступ запрещён: не хватает прав
2
404 Not Found
не найдено
2
500 Internal Server Error
ошибка на сервере
2
2xx — успех, 4xx — ошибка клиента, 5xx — ошибка сервера.
Части запроса
Часть
Пример
Где в Postman
Урок
метод и адрес
GET https://dummyjson.com/products/search
слева от строки адреса и в ней
4
параметры
?q=phone&limit=5
вкладка Params
4
заголовки
Content-Type: application/json
вкладка Headers
4
тело
{"title": "Капучино", "price": 220}
Body → raw → JSON
5
авторизация
Authorization: Bearer <токен>
вкладка Authorization → Bearer Token
5
JSON
Запись
Что это
Урок
{"title": "Чай"}
объект: ключ и значение
3
["a", "b"]
массив
3
"текст", 9.99, true, null
строка, число, логическое, пусто
3
products[0].title
поле первого элемента массива
3
Ключи и строки — в двойных кавычках, после последней пары запятой нет.
Переменные и окружения
Запись
Что делает
Урок
{{baseUrl}}/products/1
подставить переменную в адрес
6
Bearer {{token}}
подставить токен
6
pm.environment.set("token", json.accessToken)
сохранить значение в окружение
6
pm.environment.get("token")
прочитать значение из окружения
6
pm.collectionVariables.set("id", 5)
сохранить в переменные коллекции
6
Переменная окружения важнее переменной коллекции с тем же именем. Красная подсветка — переменная не найдена.
Тесты
Пишут во вкладке Scripts → Post-response.
Проверка
Код
Урок
код ответа
pm.response.to.have.status(200);
7
время ответа
pm.expect(pm.response.responseTime).to.be.below(1000);
7
тело как объект
const json = pm.response.json();
7
равенство
pm.expect(json.id).to.eql(1);
7
тип
pm.expect(json.price).to.be.a("number");
7
больше, не больше
.to.be.above(0), .to.be.at.most(5)
7
содержит
pm.expect(json.message).to.include("not found");
7
Шаблон теста:
JavaScript Перенос
pm.test("Понятное название проверки", function () {
pm.response.to.have.status(200);
});
Полезное
Что
Где
Урок
команда curl для запроса
кнопка Code </> справа
4
запустить всю коллекцию
меню коллекции → Run
7
коллекция из OpenAPI
кнопка Import
8
готовые заготовки тестов
Snippets справа от редактора скрипта
7