...
- 200 – OK. De aanvraag is verwerkt en geslaagd en de response van de payload is niet leeg (gebruikt met GET- en POST-verzoeken)
- 201 – Nieuwe gegevens zijn aangemaakt en gepersisteerd (gebruikt met POST-verzoeken)
- 202 – Geaccepteerd. Als de verwijderde aanvraag is geaccepteerd, zonder aanvullende informatie over de uitkomst
- 204 – Geen inhoud – De gegevens zijn succesvol aangepast of verwijderd. Geen payload in de response (gebruikt met PUT- en DELETE-verzoeken).
- 301 – Verplaats - De locatie van de gegevens zijn permanent verplaatst naar een andere locatie
- 304 – Niet gewijzigd – de klant kan gebruik maken van cache data met de If-Modified-Since of If-Nonen-Match HTTP headers headers
- 307 – Tijdelijk verplaatst - De locatie van de gegevens zijn tijdelijk verplaatst naar een andere locatie
Functionele fouten.
Dit zijn fouten die optreden als gevolg van het niet kunnen uitvoeren van een functionele vereiste. Deze fouten moeten worden beschreven als onderdeel van het functionele ontwerp van het systeem. Kies voor functionele fouten zorgvuldig een HTTP 4xx-code die past bij een bepaalde foutcondities.
- 400 – Onjuiste aanvraag - Het verzoek was ongeldig of kan niet worden uitgevoerd. De exacte fout moet worden uitgelegd in de payload content. Bijv. "veld% param1% is niet geldig" (Validatie fouten).
- 401 – Niet geautoriseerd - Het verzoek vereist een gebruikers authenticatie
- 403 – Verboden - De server heeft het verzoek begrepen, maar weigert het of de toegang is niet toegestaan.
- 404 – Niet gevonden - Er zijn geen gegevens aanwezig bij de aangegeven URI.
- 405 – Methode niet toegestaan. Gegevens bestonden niet voor de aanpassing en de aangegeven identificatie van de client mag niet voor de interactie gebruikt worden
- 406 - Aanvraag niet geaccepteerd. De aanvraag voldoet niet aan het formaat dat door de server ondersteunt wordt
- 409/412 – Conflict - Conflict met de huidige status van de bron (gebruikt met PUT-verzoeken)
- 410 – Weg - De gegevens zijn niet langer beschikbaar op de oorspronkelijke server en dat deze toestand waarschijnlijk permanent is
- 415 – Media-type niet ondersteund
- 422 – Aanvraag kan niet verwerkt worden - De aangeboden gegevens voldoen niet aan bepaalde FHIR profielen of server bedrijfsregels
- 429 – Te veel aanvragen. Kans op een DDS aanval of de aanvraag kan niet afgehandeld worden door bepaalde systeem limieten
Technische fouten.
Dit zijn run-time fouten die optreden als gevolg van het niet kunnen uitvoeren van bepaalde processen, query’s, methoden, enz. Ze hoeven geen onderdeel te zijn van het functionele ontwerp van het systeem. In een technisch interface document of API (Application Programming Interface) moeten de technische fouten in detail beschreven staan.
...
Het idee van bovenstaande regels is dat eerst wordt bepaald of de aanroeper (principal) gerechtigd is voor een resource. Is het antwoord ‘nee’ of kan dat niet worden bepaald, bijvoorbeeld omdat de resource nodig is om deze beslissing te kunnen nemen en de resource niet bestaat, dan wordt 403 Forbidden teruggegeven. Op deze manier wordt geen informatie teruggegeven over het al dan niet bestaan van een resource aan een niet-geautoriseerde principal.
Een bijkomend voordeel van de strategie om eerst te bepalen of er toegang is, meer ruimte biedt om de toegangscontrole te scheiden van de business code.
Aanvullende informatie over het gebruik van HTTP Statuscodes in REST APIs is te vinden op:
Neem zoveel mogelijk context op in uw berichten en wees beschrijvend.
...