@ -32,6 +32,7 @@ import com.fasterxml.jackson.databind.SerializationFeature;
@@ -32,6 +32,7 @@ import com.fasterxml.jackson.databind.SerializationFeature;
import org.springframework.messaging.Message ;
import org.springframework.messaging.MessageHeaders ;
import org.springframework.util.Assert ;
import org.springframework.util.ClassUtils ;
import org.springframework.util.MimeType ;
@ -61,6 +62,30 @@ public class MappingJackson2MessageConverter extends AbstractMessageConverter {
@@ -61,6 +62,30 @@ public class MappingJackson2MessageConverter extends AbstractMessageConverter {
}
/ * *
* Set the { @code ObjectMapper } for this converter .
* If not set , a default { @link ObjectMapper # ObjectMapper ( ) ObjectMapper } is used .
* < p > Setting a custom - configured { @code ObjectMapper } is one way to take further
* control of the JSON serialization process . For example , an extended
* { @link com . fasterxml . jackson . databind . ser . SerializerFactory } can be
* configured that provides custom serializers for specific types . The other
* option for refining the serialization process is to use Jackson ' s provided
* annotations on the types to be serialized , in which case a custom - configured
* ObjectMapper is unnecessary .
* /
public void setObjectMapper ( ObjectMapper objectMapper ) {
Assert . notNull ( objectMapper , "ObjectMapper must not be null" ) ;
this . objectMapper = objectMapper ;
configurePrettyPrint ( ) ;
}
/ * *
* Return the underlying { @code ObjectMapper } for this converter .
* /
public ObjectMapper getObjectMapper ( ) {
return this . objectMapper ;
}
/ * *
* Whether to use the { @link DefaultPrettyPrinter } when writing JSON .
* This is a shortcut for setting up an { @code ObjectMapper } as follows :