Risposte di errore basate su record
Usa i record per tipi di risposta errore concisi e immutabili.
Confronto Codice
✕ 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());
}
}
Vedi un problema con questo codice? Faccelo sapere.
Perché vince l'approccio moderno
Conciso
Definisci i tipi di errore in 3 righe invece di 30.
Immutabile
I dati dell'errore non possono essere modificati accidentalmente dopo la creazione.
toString automatico
Perfetto per il logging — mostra tutti i campi automaticamente.
Approccio Vecchio
Map o classe verbosa
Approccio Moderno
Record di errore
Dal JDK
16
Difficoltà
Intermedio
Supporto JDK
Risposte di errore basate su record
Disponibile
Ampiamente disponibile dal JDK 16 (marzo 2021)
Come funziona
I record sono perfetti per le risposte di errore — sono immutabili, hanno equals/hashCode integrati per il confronto e toString per il logging. I costruttori personalizzati aggiungono validazione o valori predefiniti.
Documentazione Correlata