Respuestas de error basadas en records
Usa records para tipos de respuesta de error concisos e inmutables.
Comparación de Código
✕ 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());
}
}
¿Ves un problema con este código? Cuéntanos.
Por qué gana la forma moderna
Conciso
Define tipos de error en 3 líneas en lugar de 30.
Inmutable
Los datos del error no se pueden modificar accidentalmente después de su creación.
toString automático
Perfecto para logging — muestra todos los campos automáticamente.
Enfoque Antiguo
Map o clase verbosa
Enfoque Moderno
Records de error
Desde JDK
16
Dificultad
Intermedio
Soporte JDK
Respuestas de error basadas en records
Disponible
Ampliamente disponible desde JDK 16 (marzo de 2021)
Cómo funciona
Los records son perfectos para respuestas de error — son inmutables, tienen equals/hashCode integrados para comparación, y toString para logging. Los constructores personalizados permiten añadir validación o valores por defecto.
Documentación Relacionada