Почему при корректном запросе с пустой выборкой не вернется статус кода 404

Ответ

Если запрос выполнен корректно, но данных нет, сервер вернет 200 OK, потому что:

  1. 404 Not Found означает, что сам ресурс (например, URL) не существует, а не что данные отсутствуют.
  2. Пустая выборка ([] или null) — валидный ответ, подтверждающий успешное выполнение запроса.

Пример:

// GET /api/users?name=NonExistentName  
// Ответ:  
{
  status: 200,
  data: []
}

Использование 404 в таком случае вводит в заблуждение, так как эндпоинт существует, просто данных нет.