Skip to content

Een lege of ongeldige zoekopdracht geeft HTTP 500 met een HTML-pagina op een JSON-endpoint #142

Description

@monty241

POST /search geeft JSON. Bij een zoekopdracht die FTS5 niet accepteert komt er geen JSON terug maar de HTML-foutpagina van de site, met status 500.

Waargenomen bij een lege q, bij AND, bij stikstof AND, bij een ongepaarde haak (stikstof, bij een ongepaard aanhalingsteken "stikstof en bij NEAR(a. Dat zijn allemaal invoerfouten van de gebruiker, geen storingen van de server, en 500 zegt juist Internal Server Error (alhoewel meer API's een 500 teruggeven terwijl het een bad request hoort te zijn).

Reproductie

Waargenomen op 2026-08-14.

Ongeldige FTS5-invoer via de gewone zoekpagina:

https://berthub.eu/tkconv/search.html?q=AND&twomonths=false&soorten=alles

Ongepaarde haak:

https://berthub.eu/tkconv/search.html?q=(stikstof&twomonths=false&soorten=alles

Onvolledige NEAR:

https://berthub.eu/tkconv/search.html?q=NEAR(a&twomonths=false&soorten=alles

De metrics waaruit het aandeel 5xx blijkt:

https://berthub.eu/tkconv/metrics

Verwachting

Status 400 bad request met hetzelfde JSON-formaat als een geslaagd antwoord, aangevuld met een melding, zodat de
zoekpagina kan zeggen "deze zoekopdracht begrijp ik niet" in plaats van "er is iets misgegaan". De
foutafhandeling die er al is ({"ok": 0, "message": ...}) leent zich daar precies voor.

Een lege q hoort waarschijnlijk helemaal geen query te worden.

Alternatief

Documenteren dat 500 een invoerfout kan zijn.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions