Что такое endpoint в контексте API?

«Что такое endpoint в контексте API?» — вопрос из категории API тестирование, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Endpoint (конечная точка) в API — это уникальный URL-адрес, по которому клиентское приложение может взаимодействовать с сервером для выполнения определенной операции над ресурсом.

Почему это ключевое понятие? Тестирование API в значительной степени сводится к проверке корректности работы его эндпоинтов.

Структура эндпоинта: [Метод HTTP] [Базовый URL]/[Путь к ресурсу]

Примеры REST API эндпоинтов для сущности "Пользователь":

# 1. Получить список всех пользователей
GET https://api.example.com/v1/users

# 2. Получить данные конкретного пользователя (с ID=123)
GET https://api.example.com/v1/users/123

# 3. Создать нового пользователя
POST https://api.example.com/v1/users
# Тело запроса (Body): {"name": "Alice", "email": "alice@example.com"}

# 4. Частично обновить данные пользователя 123
PATCH https://api.example.com/v1/users/123
# Body: {"email": "new.alice@example.com"}

# 5. Удалить пользователя 123
DELETE https://api.example.com/v1/users/123

Ключевые аспекты эндпоинта для тестирования:

  1. HTTP-метод: Определяет действие (GET, POST, PUT, PATCH, DELETE).
  2. Путь (Path): Идентифицирует ресурс или коллекцию (/users, /users/{id}).
  3. Параметры запроса:
    • Query Parameters: Фильтрация, сортировка, пагинация (?role=admin&page=2).
    • Path Parameters: Часть URL для идентификации ресурса (/users/{id}).
  4. Заголовки (Headers): Метаданные (авторизация Authorization: Bearer <token>, тип контента Content-Type: application/json).
  5. Тело запроса (Body): Данные для создания или обновления ресурса (обычно JSON).
  6. Ответ (Response): Код состояния HTTP (200 OK, 404 Not Found), тело ответа и заголовки.

Эндпоинты должны быть четко описаны в спецификации API (OpenAPI/Swagger).