Fehler bei Request mit Null-Werten als UUID/Key-ID in der Submission API
Zusammenfassung
Ein GET an /v1/destinations/00000000000000000000000000000000/keys/00000000 liefert als Antwort in der HTTP-Response eine Java-Exception.
Schritte zum Reproduzieren
Der Fehler lässt sich durch den folgenden cURL Aufruf reproduzieren:
curl "https://submission-api-testing.fit-connect.fitko.dev/v1/destinations/00000000000000000000000000000000/keys/00000000"
Wie verhält sich der aktuelle Fehler?
Bei einem GET an https://submission-api-testing.fit-connect.fitko.dev/v1/destinations/00000000000000000000000000000000/keys/00000000 wird der folgende Java error zurück gegeben:
{
"type": "https://schema.fitko.de/fit-connect/submission-api/problems/type-mismatch",
"title": "Bad Request",
"status": 400,
"detail": "Failed to convert value of type 'java.lang.String' to required type 'java.util.UUID'; nested exception is java.lang.IllegalArgumentException: Invalid UUID string: 00000000000000000000000000000000"
}
Was ist das erwartete richtige Verhalten?
Im detail-Feld der Response taucht kein Java-Error auf, sondern eine aussagekräftige Fehlermeldung, die beschreibt, dass eine ungültige UUID übergeben wurde.
Zu prüfen (und zu beheben)
-
Gibt es weitere Stellen im Code, an denen dieser oder vergleichbare Konvertierungsfehler auftauchen könnten? -> Diese sollten einheitlich behandelt werden.
Hinweis(e)
-
@Michael_Miera hat bereits vergleichbare Exception-Behandlung(en) implementiert, vgl. Klasse
ExceptionAdvice. Die Fehlerbehandlung sollte darauf abgestimmt sein (ggf. modulo Error-Code).
Edited by Ghost User