2015-03-04 9 views

Antwort

21

Sie können Ihr Objekt Mapper konfigurieren, wenn configureMessageConverters

@Bean 
public MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter() { 
    ObjectMapper mapper = new ObjectMapper(); 
    mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); 
    MappingJackson2HttpMessageConverter converter = 
     new MappingJackson2HttpMessageConverter(mapper); 
    return converter; 
} 

Konfiguration Wenn Sie wissen möchten, wie in Ihrer Anwendung genau das zu tun, aktualisieren Sie bitte Ihre Frage mit Konfigurationsdateien (xml oder Java-configs).

Hier ist eine gute article, wie Sie Nachrichtenkonverter anpassen.

Edit: Wenn Sie XML anstelle von Java configs verwenden, können Sie eine benutzerdefinierte MyJsonMapper Klasse erweitern ObjectMapper mit benutzerdefinierten Konfiguration erstellen und verwenden sie dann als

public class MyJsonMapper extends ObjectMapper {  
     public MyJsonMapper() { 
      this.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); 
     } 
} 

In Ihrem XML folgt:

<mvc:annotation-driven> 
     <mvc:message-converters> 
      <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"> 
       <property name="objectMapper" ref="jacksonObjectMapper" /> 
      </bean> 
     </mvc:message-converters> 
</mvc:annotation-driven> 


<bean id="jacksonObjectMapper" class="com.mycompany.example.MyJsonMapper" > 
+0

Haben Sie ein XML-Beispiel? danke – tgkprog

+0

Bitte bearbeitete Antwort. – vtor

+7

Wenn Sie Spring Boot verwenden, können Sie dies tun: 'spring.jackson.serialization.FAIL_ON_EMPTY_BEANS = false' – DKroot

18

Wenn Sie Spring Boot verwenden, können Sie die folgende Eigenschaft in der Datei application.properties festlegen.

spring.jackson.serialization.FAIL_ON_EMPTY_BEANS=false

Dank @DKroot für seinen wertvollen Beitrag hinzu. Aber ich glaube, das sollte eine eigene Antwort für andere sein.

+1

Guter Tipp, aber Vorsicht, es wird nicht mit HAL arbeiten, da Spring HATEOAS seinen eigenen Objekt-Mapper erstellt. https://github.com/spring-projects/spring-hateoas/issues/333 – Jannik

Verwandte Themen