J'essaie de faire correspondre certains objets JSON à des objets Java avec Jackson. Certains des champs de l'objet JSON sont obligatoires (ce que je peux marquer avec @NotNull
) et certains sont facultatifs.
Après le mappage avec Jackson, tous les champs qui ne sont pas définis dans l'objet JSON auront une valeur nulle en Java. Existe-t-il une annotation similaire à @NotNull
qui peut dire à Jackson de donner une valeur par défaut à un membre d'une classe Java, au cas où il serait nul ?
Modifier : Pour rendre la question plus claire, voici un exemple de code.
L'objet Java :
class JavaObject {
@NotNull
public String notNullMember;
@DefaultValue("Value")
public String optionalMember;
}
L'objet JSON peut être soit :
{
"notNullMember" : "notNull"
}
ou :
{
"notNullMember" : "notNull",
"optionalMember" : "optional"
}
En @DefaultValue
Les annotations sont juste pour montrer ce que je demande. Il ne s'agit pas d'une véritable annotation. Si l'objet JSON est comme dans le premier exemple, je veux la valeur de l'annotation optionalMember
à être "Value"
et non null
. Existe-t-il une annotation qui fasse une telle chose ?