0
votes

Comment fournir une valeur par défaut en tant que «vrai» à une propriété Boolean Champ Jackson

J'utilise Jackson API @jsonproperty strong> Annotation pour la création d'un modèle et j'ai besoin de donner une valeur par défaut comme true forte> à une propriété booléenne (par défaut, il est faux). L'attribut strong> d'attribut fort> de @jsonProperty strong> prend uniquement une chaîne. Quelqu'un peut-il suggérer comment puis-je fournir une valeur par défaut aussi fidèle à une propriété de modèle booléen

J'ai essayé la manière suivante, mais cela ne fonctionne pas p>

@JsonProperty(value = "field1", required = false)
@ApiObjectField(name = "field1", description = "field1")
private boolean field1 = true;
//getters and setters


0 commentaires

3 Réponses :


0
votes

Créer un constructeur annoté avec le @jsoncreator code> qui reçoit toutes les propriétés JSON que vous souhaitez définir sur votre objet et définir une valeur par défaut sur tout champ de saisie ayant une valeur null.

@JsonCreator
MyObject(@JsonProperty("field1") Boolean field1) {
   this.field1 = field1 == null ? true : field1;

}


2 commentaires

J'ai également peu de propriétés avec @jsonignore Annotation, devrais-je les inclure dans le constructeur?


Vous n'avez pas besoin de faire cela afaik



0
votes

Créer une série personnalisée, puis l'ajoutez:

public class MyCustomSerializer extends StdSerializer<Object> {

    public MyCustomSerializer() {
        super(Object.class);
    }

    @Override
    public void serialize(Object o, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
        //...
    }
    
}


0 commentaires

0
votes

Vous pouvez aussi faire cela dans le champ getter aussi.

J'aime: xxx


0 commentaires