Ответ
API-запрос, особенно в контексте HTTP/HTTPS, состоит из следующих ключевых компонентов:
-
Метод (HTTP Method): Определяет тип операции над ресурсом.
GET— получение данных.POST— создание нового ресурса.PUT— полное обновление ресурса.PATCH— частичное обновление ресурса.DELETE— удаление ресурса.
-
URL (Endpoint/Uniform Resource Locator): Адрес целевого ресурса на сервере. Может включать путь и параметры.
-
Заголовки (Headers): Метаданные запроса, описывающие клиент, формат данных, требования к кэшированию и аутентификацию.
Content-Type(например,application/json) — указывает формат тела запроса.Authorization(например,Bearer <token>) — содержит учетные данные.Accept— сообщает серверу, какой формат ответа предпочтителен.
-
Параметры запроса (Query Parameters): Пары «ключ=значение», добавляемые в URL после
?для фильтрации, сортировки или пагинации (например,?page=2&limit=10). -
Тело запроса (Request Body): Данные, отправляемые на сервер, обычно в методах
POST,PUT,PATCH. Распространенные форматы:- JSON (
{"name": "John"}) - XML
- Form-data
- Plain text
- JSON (
Пример для тестировщика: При тестировании API я проверяю каждый компонент. Например, для негативного теста можно отправить POST-запрос с неверным Content-Type (например, text/plain вместо application/json) и убедиться, что сервер возвращает корректную ошибку 415 Unsupported Media Type.
# Пример валидного POST-запроса для создания пользователя
POST /api/v1/users HTTP/1.1
Host: api.example.com
Content-Type: application/json
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
{
"email": "user@example.com",
"name": "Alice"
}