2017-06-28 2 views
1

Mon code suivant ce lien:
How to customize MappingMongoConverter (setMapKeyDotReplacement) in Spring-Boot without breaking the auto-configuration?
MappingMongoConverter setMapKeyDotReplacement ne fonctionnent pas

@Override 
@Bean 
public MappingMongoConverter mappingMongoConverter() throws Exception { 
    DefaultDbRefResolver dbRefResolver = new DefaultDbRefResolver(this.mongoDbFactory()); 
    MappingMongoConverter converter = new MappingMongoConverter(dbRefResolver, this.mongoMappingContext()); 
    converter.setCustomConversions(this.customConversions()); 
    converter.setMapKeyDotReplacement("_"); 
    return converter; 
} 

Mais si je tente d'analyser ce JSON, qui est Java JSONObject:

{ 
    "Dr.Web category": "known infection source", 
    "categories": [ 
    "parked", 
    "uncategorized" 
    ] 
} 

Cette exception arrive toujours.

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.data.mapping.model.MappingException: Map key Dr.Web category contains dots but no replacement was configured! Make sure map keys don't contain dots in the first place or configure an appropriate replacement! 

Ce qui est étrange, la cause setMapKeyDotReplacement est effectivement mis en sorte que tous les points doivent être remplacés.

Avez-vous des idées pour lesquelles cette solution ne fonctionne pas?

Répondre

0

Essayez d'inclure converter.afterPropertiesSet() avant l'instruction de retour.

+0

J'ai suivi: Une correction mineure: vous n'avez pas besoin d'appeler mongoConverter.afterPropertiesSet(). Le conteneur appellera cela pour vous. Cependant, cela ne fonctionne pas. –