Ответ
При тестировании RESTful API и веб-приложений работаю со стандартными HTTP-методами, каждый из которых имеет строгую семантику.
Основные методы (CRUD операции):
| Метод | Назначение (Семантика) | Идемпотентен? | Безопасен? | Пример использования |
|---|---|---|---|---|
GET |
Получение данных ресурса. | Да | Да | Запрос информации о пользователе. |
POST |
Создание нового ресурса или выполнение действия. | Нет | Нет | Отправка данных формы для регистрации. |
PUT |
Полное обновление ресурса. | Да | Нет | Замена всех данных пользователя. |
PATCH |
Частичное обновление ресурса. | Нет | Нет | Изменение только email пользователя. |
DELETE |
Удаление ресурса. | Да | Нет | Удаление учетной записи. |
Примеры запросов (синтаксис HTTP):
### GET: Получить пользователя с id=123
GET /api/users/123 HTTP/1.1
Host: example.com
Accept: application/json
### POST: Создать нового пользователя
POST /api/users HTTP/1.1
Host: example.com
Content-Type: application/json
{
"name": "Alice",
"email": "alice@example.com"
}
### PATCH: Частично обновить пользователя
PATCH /api/users/123 HTTP/1.1
Host: example.com
Content-Type: application/json
{
"email": "new.alice@example.com"
}
### DELETE: Удалить пользователя
DELETE /api/users/123 HTTP/1.1
Host: example.com
Дополнительные методы:
HEAD— аналогиченGET, но возвращает только заголовки ответа (полезно для проверки существования ресурса или метаданных).OPTIONS— используется для определения поддерживаемых методов для ресурса (часто применяется в CORS-запросах).
Инструменты: Для работы с этими методами использую Postman, cURL, Swagger UI, а также библиотеки в коде автотестов (requests в Python, axios в JS).