-
Notifications
You must be signed in to change notification settings - Fork 11
Rückmeldung von Fehlern
Marvin Menzerath edited this page Sep 27, 2016
·
3 revisions
Kommt es bei der Bearbeitung eines Request der REST Api zu einem Fehler wird stets die JSON Repräsentation eines ExceptionDescriptors zurückgegeben. Diese beinhaltet einen Fehlercode, den Namen des Fehlers oder der Ausnahme, sowie eine kurze Beschreibung.
Beispiel:
{
"code": 4040,
"name": "Not Found",
"message": "The requested resource could not be found"
}
Beim Auftreten von Validierungsfehlern wird ein ConstraintViolationExceptionDescriptor zurückgegeben:
{
"violations": [
{
"code": 6202,
"constraint": "ValidOwnerNames",
"field": "ownerNames",
"message": "must contain names of existing users"
},
{
"code": 6003,
"constraint": "Min",
"field": "number",
"value": "0",
"message": "must be greater than or equal to 1"
},
{
"code": 6002,
"constraint": "Size",
"field": "label",
"value": "Test dddddddddddddddddddddddddd2",
"message": "size must be between 1 and 11"
}
],
"code": 4001,
"name": "Constraint Violation",
"message": "Missing fields or invalid values"
}
Die ersten drei Ziffern des Fehlercode stimmen mit dem zurückgegebenen HTTP Statuscode überein. Die letzte Ziffer wird zur weiteren Unterscheidung verwendet.
Ausnahme ConstraintViolations: Zur detaillierten Beschreibung der aufgetretenen Validierungsfehler ist der gesamte 6XXX Bereich reserviert, wobei die ersten drei Ziffern hier ohnehin keinen gültigen Statuscode ergeben.
- 4000: Bad Request
- 4001: Constraint Violation
- 4002: Empty Body
- 4030: Forbidden
- 4003: Invalid Json
- 4060: Not Acceptable
- 4050: Method not allowed
- 4010: Not Authorized
- 4040: Not Found
- 4150: Not Supported
- 6000: UnknownContraintViolation (falls kein eigener Fehlercode definiert)
- 6001: NotNull
- 6002: Size
- 6003: Min
- 6004: Max
- 6005: Digits
- 6101: TimeSlot
- 6102: EMail
- 6103: IpAddress
- 6200: ValidName (falls kein eigener Fehlercode definiert)
- 6201: ValidOwnerName
- 6202: ValidOwnerNames
- 6203: ValidTransmitterGroupNames
- 6204: ValidCallSignNames
- 6205: ValidRubricName
- 6206: ValidNodeName
- 6207: ValidTransmitterNames
- 5000: Internal Server Error
- 5001: Unknown Internal Server Error
- 5031: No Quorum
- 5030: Service Unavailable