MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

java spring MappingJacksonJsonView ne fait pas toString sur mongodb ObjectId

Par défaut Jackson fournit la sérialisation de l'Objet reçu. ObjectId renvoie l'Object pour que ses attributs soient visibles après conversion en JSON. Vous devez spécifier le type de sérialisation requis, ici dans ce cas, il s'agit d'une chaîne. Chose classe d'entité utilisée pour créer ThingRepository ressemblera à ceci pour y parvenir :

public class Thing {
    @Id
    @JsonSerialize(using= ToStringSerializer.class)
    ObjectId id;

    String name;
}

Ici, notez l'annotation ajoutée @JsonSerialize(using=ToStringSerializer.class) qui demande de sérialiser l'ObjectID en String.