Ответ
При тестировании API активно работал со стандартными HTTP-методами (глаголами), каждый из которых определяет тип операции над ресурсом.
Основные HTTP-методы и их назначение:
| Метод | Идиоматическое назначение (REST) | Пример использования |
|---|---|---|
GET |
Получение данных. Без побочных эффектов (идемпотентный, безопасный). | Получить список пользователей или конкретного пользователя. |
POST |
Создание нового ресурса. | Создать нового пользователя, отправить данные формы. |
PUT |
Полное обновление ресурса. Создает ресурс, если он не существует (идемпотентный). | Обновить все поля профиля пользователя. |
PATCH |
Частичное обновление ресурса. | Обновить только email пользователя. |
DELETE |
Удаление ресурса (идемпотентный). | Удалить пользователя по ID. |
Практические примеры запросов (cURL):
# 1. GET: Получение пользователя с ID 123
curl -X GET "https://api.example.com/v1/users/123"
-H "Authorization: Bearer <token>"
# 2. POST: Создание нового пользователя с JSON-телом
curl -X POST "https://api.example.com/v1/users"
-H "Content-Type: application/json"
-H "Authorization: Bearer <token>"
-d '{"name": "Alice", "email": "alice@example.com"}'
# 3. PUT: Полное обновление пользователя с ID 123
curl -X PUT "https://api.example.com/v1/users/123"
-H "Content-Type: application/json"
-d '{"name": "Alice Smith", "email": "alice.smith@example.com"}'
# 4. DELETE: Удаление пользователя с ID 123
curl -X DELETE "https://api.example.com/v1/users/123"
-H "Authorization: Bearer <token>"
Что проверял в запросах и ответах:
- Коды состояния HTTP (
200 OK,201 Created,400 Bad Request,401 Unauthorized,404 Not Found,500 Internal Server Error). - Заголовки (Headers):
Content-Type,Authorization,Accept. - Тело запроса (Body): Форматы JSON, XML,
x-www-form-urlencoded. - Параметры: Query-параметры, path-переменные.
- Структура и валидация данных в ответе (соответствие контракту/схеме).