2016-05-01 10 views
1

Dieser Code funktioniert nicht:Wie man die Jackson Eigenschaft benennt Strategie?

@Configuration 
public class RepositoryRestMvcConfig extends RepositoryRestMvcConfiguration { 
    ... 

    @Bean 
    @Override 
    public ObjectMapper objectMapper() { 
     ObjectMapper mapper = super.objectMapper(); 
     mapper.setPropertyNamingStrategy(PropertyNamingStrategy.CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES); 
     return mapper; 
    } 

    ... 
} 

Wie in Jackson Namensgebung Strategie mit JavaConfig konfigurieren?

+0

Was bedeutet _Hat nicht work_ zu bedeuten? –

Antwort

0

Lösung:

@Configuration 
public class RepositoryRestMvcConfig extends RepositoryRestMvcConfiguration { 
    ... 

    @Bean 
    @Override 
    public ObjectMapper objectMapper() { 
     ObjectMapper mapper = super.objectMapper(); 
     mapper.setPropertyNamingStrategy(PropertyNamingStrategy.CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES); 
     return mapper; 
    } 

    @Bean 
    @Override 
    public ObjectMapper halObjectMapper() { 
     ObjectMapper mapper = super.halObjectMapper(); 
     mapper.setPropertyNamingStrategy(PropertyNamingStrategy.CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES); 
     return mapper; 
    } 

    ... 
} 
+0

Was hast du geändert? Warum macht das einen Unterschied? –

+0

Ich habe propertyNamingStrategy zu halObjectMapper() hinzugefügt. defaultMessageConverters() verwendet halJacksonHttpMessageConverter() und jacksonHttpMessageConverter() zum Konfigurieren von messageConverters. –

+1

Ich sehe nicht, wie das in irgendeiner Weise mit Ihrer Frage verwandt ist. –

0

Sie unter Ansatz verwenden Strategie für die Benennung:

class MyBean { 
    private String inReply; 
    public void setInReplyToUserId(String s) { 
     inReply = s; 
    } 
    public String getInReplyToUserId() { 
     return inReply; 
    } 
    } 

    class MyNaming extends PropertyNamingStrategy { 
    @Override 
    public String nameForGetterMethod(MapperConfig<?> config, 
     AnnotatedMethod method, String defaultName) 
    { 
     // Replace underscore+letter with upper-case(letter) 
     // (left as exercise to reader!) 
     return convertName(defaultName); 
    } 
    } 

    objectMapper.setPropertyNamingStrategy(new MyNaming()); 
Verwandte Themen