Une recherche vide ne renvoie pas de message descriptif

Le Front-End n’autorise pas les recherches vides et affiche un message utile indiquant que le terme de recherche est trop court.

Cependant, le point de terminaison de l’API autorise toujours les recherches vides, mais la réponse est un objet JSON avec une valeur NULL et un statut 200.

L’API ne devrait-elle pas répondre avec un message d’erreur descriptif et un statut 400 ?

Attendu :

// Erreur 400
{
  "errors": [ "Vous avez fourni des paramètres invalides à la requête : q" ],
  "error_type": "invalid_parameters"
}

Réel :

// 200 ok
{
  "grouped_search_result": null
}

L’API pourrait certainement être améliorée ici, mais l’itinéraire de requête permet de nombreux arguments :

Nous devrions être très prudents ici pour vérifier si nous traitons min_search_term_length comme une exigence ou comme une option.

Merci @sam

Voici la situation actuelle :

  • Une recherche vide constitue un point mort dans l’API.
  • Le point de terminaison de recherche accepte un terme de recherche, mais également des arguments de métadonnées (utilisateur, catégories, balises, etc.).
  • Les arguments de métadonnées ne sont pas documentés dans l’API.
  • Le front-end valide correctement la recherche, mais l’API back-end ne la valide que partiellement (en permettant à une recherche vide de passer).
  • Le message de réponse doit être descriptif dans tous les cas.

J’espère que cet aperçu vous sera utile.
À mon avis, il s’agit d’un bug. Je serais surpris que ce soit le comportement attendu.
Merci quand même :v: