Пустой поиск не возвращает описательное сообщение

Фронтенд не допускает пустого поиска и отображает полезное сообщение, объясняющее, что поисковый запрос слишком короткий.

Однако конечная точка API всё ещё допускает пустой поиск, но ответ представляет собой JSON-объект со значением NULL и статусом 200.

Разве API не должно возвращать описательное сообщение об ошибке и статус 400?

Ожидаемый результат:

// ошибка 400
{
  "errors": [ "Вы передали недопустимые параметры запроса: q" ],
  "error_type": "invalid_parameters"
}

Фактический результат:

// 200 ok
{
  "grouped_search_result": null
}

API, безусловно, можно улучшить в этом месте, но маршрут запроса поддерживает множество аргументов:

Здесь нам нужно быть очень осторожными и решить, будем ли мы рассматривать min_search_term_length как обязательное требование или как опциональный параметр.

Спасибо, @sam

На данный момент:

  • Пустой поиск является «мертвой зоной» в API
  • Эндпоинт поиска принимает поисковый запрос, а также аргументы метаданных (пользователь, категории, теги и т. д.)
  • Аргументы метаданных не задокументированы в API
  • Фронтенд корректно валидирует поиск, но бэкенд API валидирует его частично (пропуская пустой поиск)
  • Сообщение ответа должно быть информативным в любом случае

Надеюсь, этот обзор поможет.
На мой взгляд, это баг. Меня бы удивило, если бы это было запланированное поведение.
В любом случае спасибо :v: