Réponses d'erreur basées sur des records
Utilisez des records pour des types de réponse d'erreur concis et immutables.
Comparaison de Code
✕ 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());
}
}
Un problème avec ce code ? Dites-le nous.
Pourquoi la méthode moderne gagne
Concis
Définissez des types d'erreur en 3 lignes au lieu de 30.
Immutable
Les données d'erreur ne peuvent pas être modifiées accidentellement après leur création.
toString automatique
Parfait pour la journalisation — affiche tous les champs automatiquement.
Ancienne Approche
Map ou classe verbose
Approche Moderne
Records d'erreur
Depuis JDK
16
Difficulté
Intermédiaire
Support JDK
Réponses d'erreur basées sur des records
Disponible
Disponible depuis JDK 16 (mars 2021)
Comment ça fonctionne
Les records sont parfaits pour les réponses d'erreur — ils sont immutables, ont equals/hashCode intégrés pour la comparaison, et toString pour la journalisation. Les constructeurs personnalisés permettent d'ajouter de la validation ou des valeurs par défaut.
Documentation Associée