Тренажер API
Чотири формати без бекенду: збери запит проти мок-сервера, прожени HTTP-дриль на методи й статуси, напиши JSONPath-асерт до живої JSON-відповіді та познач schema drift проти OpenAPI. Прогрес зберігається у браузері.
Теорія: розділ API →Замовлення користувача
Отримай список замовлень користувача з id 5.
Довідник API— ресурси, ендпоінти, прикладирозгорнути
Користувачі
/usersGET/users/:id/orders
Замовлення користувача (вкладена колекція)
Path-параметри
idintegerобовʼязково— id користувача
Коди
- 200 OK
- 404 користувача не знайдено
Приклад відповіді
{
"userId": 5,
"orders": [
{
"id": 1001,
"status": "paid",
"total": 980
}
]
}PUT/users/:id
Повна заміна користувача (усі поля)
Path-параметри
idintegerобовʼязково— id користувача
Тіло запиту
namestringобовʼязковоemailstringобовʼязковоrolestringобовʼязково
Коди
- 200 оновлено
- 422 невалідні поля
Приклад відповіді
{
"id": 5,
"name": "Іван",
"email": "ivan@example.com",
"role": "qa"
}Замовлення
/ordersGET/orders
Список замовлень із пагінацією та фільтром
Query-параметри
pageinteger— номер сторінкиstatusstring— фільтр за статусом
Коди
- 200 OK
Приклад відповіді
{
"page": 2,
"perPage": 20,
"total": 57,
"orders": [
{
"id": 1044,
"status": "paid",
"total": 300
}
]
}GET/orders/:id
Одне замовлення за id
Path-параметри
idintegerобовʼязково— id замовлення
Коди
- 200 OK
- 404 не знайдено
Приклад відповіді
{
"id": 1002,
"status": "new",
"total": 250
}PATCH/orders/:id
Часткове оновлення (лише передані поля)
Path-параметри
idintegerобовʼязково— id замовлення
Тіло запиту
statusstring— нове значення статусу
Коди
- 200 оновлено
- 404 не знайдено
Приклад відповіді
{
"id": 1024,
"status": "shipped",
"total": 980
}DELETE/orders/:id
Видалити замовлення (ідемпотентно)
Path-параметри
idintegerобовʼязково— id замовлення
Коди
- 204 видалено, тіла нема
- 404 уже відсутнє
Приклад відповіді
(порожнє тіло)
Товари
/productsPOST/products
Створити товар
Тіло запиту
namestringобовʼязковоpricenumberобовʼязково
Коди
- 201 створено, у тілі новий id
- 422 невалідні поля
Приклад відповіді
{
"id": 77,
"name": "Килимок для миші",
"price": 250
}Акаунт
/accountGET/account
Приватний профіль поточного користувача (потрібен токен)
Коди
- 200 OK (з валідним токеном)
- 401 нема/битий токен
- 403 токен є, але бракує прав
Приклад відповіді
{
"id": 5,
"name": "Іван",
"email": "ivan@example.com"
}