Record-basierte Fehlerantworten
Records für prägnante, unveränderliche Fehlerantworttypen verwenden.
Code-Vergleich
✕ Java 8
// Verbose error class
public class ErrorResponse {
private final int code;
private final String message;
// constructor, getters, equals,
// hashCode, toString...
}
✓ Java 16+
public record ApiError(
int code,
String message,
Instant timestamp
) {
public ApiError(int code, String msg) {
this(code, msg, Instant.now());
}
}
Problem mit diesem Code entdeckt? Sag uns Bescheid.
Warum der moderne Weg gewinnt
Prägnant
Fehlertypen in 3 Zeilen statt 30 definieren.
Unveränderlich
Fehlerdaten können nach der Erstellung nicht versehentlich geändert werden.
Automatisches toString
Perfekt für das Logging – alle Felder werden automatisch angezeigt.
Alter Ansatz
Map oder ausführliche Klasse
Moderner Ansatz
Fehler-Records
Seit JDK
16
Schwierigkeitsgrad
Fortgeschritten
JDK-Unterstützung
Record-basierte Fehlerantworten
Verfügbar
Seit JDK 16 allgemein verfügbar (März 2021)
Wie es funktioniert
Records eignen sich hervorragend für Fehlerantworten – sie sind unveränderlich, besitzen eingebaute equals/hashCode für Vergleiche und toString für das Logging. Benutzerdefinierte Konstruktoren ermöglichen Validierung oder Standardwerte.
Zugehörige Dokumentation