Désérialiseur JSON personnalisé Spring @RestController

Je veux utiliser JSON personnalisé deserializer pour certaines classes(Rôle ici), mais je ne peux pas le faire fonctionner. La coutume deserializer n'est tout simplement pas appelé.

- Je utiliser le Printemps de Démarrage 1.2.

Deserializer:

public class ModelDeserializer extends JsonDeserializer<Role> {

    @Override
    public Role deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JsonProcessingException {
        return null; //this is what should be called but it isn't
    }
}

Contrôleur:

@RestController
public class RoleController {

    @RequestMapping(value = "/role", method = RequestMethod.POST)
    public Object createRole(Role role) {
        //... this is called
    }
}
  1. @JsonDeserialize sur le Rôle
    @JsonDeserialize(using = ModelDeserializer.class)
    public class Role extends Model {
    
    }
  2. Jackson2ObjectMapperBuilder haricot de Java Config
    @Bean
    public Jackson2ObjectMapperBuilder jacksonBuilder() {
        Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder();
        builder.deserializerByType(Role.class, new ModelDeserializer());
        return builder;
    }

Ce que je fais mal?

MODIFIER Il est probablement causée par @RestController car il fonctionne avec @Controller...

source d'informationauteur jakub.petr | 2014-12-18