Skip to content

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