Leere Suche gibt keine beschreibende Nachricht zurück

Das Front-End erlaubt keine leere Suche und zeigt eine hilfreiche Meldung an, die erklärt, dass der Suchbegriff zu kurz ist.

Allerdings erlaubt der API-Endpunkt weiterhin eine leere Suche, wobei die Antwort ein JSON-Objekt mit einem NULL-Wert und dem Status 200 ist.

Sollte die API nicht mit einer aussagekräftigen Fehlermeldung und einem Status 400 antworten?

Erwartet:

// 400 error
{
  "errors": [ "You supplied invalid parameters to the request: q" ],
  "error_type": "invalid_parameters"
}

Tatsächlich:

// 200 ok
{
  "grouped_search_result": null
}

Die API könnte hier sicherlich verbessert werden, aber die Abfrage-Routen unterstützt eine Vielzahl von Argumenten:

Wir müssen hier sehr vorsichtig sein und prüfen, ob wir min_search_term_length als zwingende Anforderung oder als optionale Einstellung behandeln.

Danke @sam

Derzeit sieht es so aus:

  • Eine leere Suche ist ein toter Punkt in der API.
  • Der Such-Endpunkt akzeptiert einen Suchbegriff, aber auch Metadaten-Argumente (Benutzer, Kategorien, Tags usw.).
  • Metadaten-Argumente sind in der API nicht dokumentiert.
  • Das Frontend validiert die Suche korrekt, aber die Backend-API validiert sie nur teilweise (eine leere Suche wird durchgelassen).
  • Die Antwortmeldung sollte in jedem Fall aussagekräftig sein.

Ich hoffe, diese Übersicht hilft.
Meiner Meinung nach ist dies ein Fehler. Ich wäre überrascht, wenn dies das beabsichtigte Verhalten wäre.
Trotzdem danke :v: