Busca vazia não retorna mensagem descritiva

O Front-End não permite buscas vazias e exibe uma mensagem útil explicando que o termo de pesquisa é muito curto.

No entanto, o endpoint da API ainda permite buscas vazias, mas a resposta é um objeto JSON com um valor NULL e status 200.

A API não deveria responder com uma mensagem de erro descritiva e um status 400?

Esperado:

// erro 400
{
  "errors": [ "Você forneceu parâmetros inválidos para a solicitação: q" ],
  "error_type": "invalid_parameters"
}

Real:

// 200 ok
{
  "grouped_search_result": null
}

A API certamente pode ser melhorada aqui, mas a rota de consulta permite muitos argumentos:

Precisaríamos ter muito cuidado aqui para verificar se tratamos o min_search_term_length como um requisito ou como algo opcional.

Obrigado @sam

Como está:

  • A busca vazia é um ponto morto na API
  • O endpoint de busca aceita um termo de pesquisa, mas também argumentos de metadados (usuário, categorias, tags, etc.)
  • Os argumentos de metadados não estão documentados na API
  • O front-end valida a busca corretamente, mas a API do back-end valida apenas parcialmente (permitindo que a busca vazia seja processada)
  • A mensagem de resposta deve ser descritiva em qualquer caso

Espero que esta visão geral ajude.
Na minha opinião, isso é um bug. Ficaria surpreso se esse fosse o comportamento pretendido.
Obrigado mesmo assim :v: