TweedeKamerDerStaten-Generaal / OpenDataPortaal

GitHub van het officiële Open Data Portaal van de Tweede Kamer der Staten-Generaal.
https://opendata.tweedekamer.nl
49 stars 3 forks source link

Verbeteren status response codes #74

Closed NoWarries closed 19 hours ago

NoWarries commented 2 years ago

Voorbeeld

Betreffend : OData API Het lijk zo te zijn dat invalide invoer altijd wordt afgehandeld met HTTP-statuscodes 500

Zo geven bijvoorbeeld : I ) https://gegevensmagazijn.tweedekamer.nl/OData/v4/2.0/Willekeur II ) https://gegevensmagazijn.tweedekamer.nl/OData/v4/2.0/Fractie/Willekeur

Allebei

500 - Internal server error.
There is a problem with the resource you are looking for, and it cannot be displayed.

Terwijl in feiten de resource niet gevonden kan worden (404)


Apart is dat wanneer we een space achter het verzoek plaatsen wordt er wel een 404 error afgegeven. Echter; net zoals bij de bovenstaande voorbeelden. In de vorm van een html pagina. I ) https://gegevensmagazijn.tweedekamer.nl/OData/v4/2.0/Willekeur%20 II ) https://gegevensmagazijn.tweedekamer.nl/OData/v4/2.0/Fractie/Willekeur%20

 The resource cannot be found.
Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable.  Please review the following URL and make sure that it is spelled correctly.

Requested URL: /OData/v4/2.0/Willekeur

Wat ik zelf nog vreemder vind, is dat wanneer een anderen methode wordt meegegeven bij een juiste query verzoek er wel een 404 status code wordt afgegeven I) https://gegevensmagazijn.tweedekamer.nl/OData/v4/2.0/Stemming?$top=2 (POST)

{
    "error": {
        "code": "",
        "message": "No HTTP resource was found that matches the request URI 'https://gegevensmagazijn.tweedekamer.nl/OData/v4/2.0/Stemming?$top=2'."
    }
}

Hier zou je eerder 405: Method not allowed verwachten

Wens

Het zou fijn zijn voor debuggen en netheid en toepasbaarheid dat

  1. Er een uniforme error format wordt teruggegeven (bij het eerste voorbeeld wordt een html pagina teruggegeven en de tweede een json response met een lege code)
  2. Er juiste (verwachtbare) http codes worden teruggeven
OpenDataPortaal commented 2 years ago

Dit is inderdaad niet hoe het zou moeten zijn. We gaan dit oppakken.

OpenDataPortaal commented 19 hours ago

Met de laatste update is dit opgelost.