Class MappingJackson2MessageConverter

java.lang.Object
org.springframework.messaging.converter.AbstractMessageConverter
org.springframework.messaging.converter.MappingJackson2MessageConverter
All Implemented Interfaces:
MessageConverter, SmartMessageConverter

@Deprecated(since="7.0", forRemoval=true) public class MappingJackson2MessageConverter extends AbstractMessageConverter
Deprecated, for removal: This API element is subject to removal in a future version.
since 7.0 in favor of JacksonJsonMessageConverter
A Jackson 2 based MessageConverter implementation.

It customizes Jackson's default properties with the following ones:

  • MapperFeature.DEFAULT_VIEW_INCLUSION is disabled
  • DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES is disabled
Since:
4.0
Author:
Rossen Stoyanchev, Juergen Hoeller, Sebastien Deleuze
  • Constructor Details

    • MappingJackson2MessageConverter

      public MappingJackson2MessageConverter()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Construct a MappingJackson2MessageConverter with a default ObjectMapper, supporting the application/json MIME type with UTF-8 character set.
    • MappingJackson2MessageConverter

      public MappingJackson2MessageConverter(MimeType... supportedMimeTypes)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Construct a MappingJackson2MessageConverter with a default ObjectMapper, supporting one or more custom MIME types.
      Parameters:
      supportedMimeTypes - the supported MIME types
      Since:
      4.1.5
    • MappingJackson2MessageConverter

      public MappingJackson2MessageConverter(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Construct a MappingJackson2MessageConverter with a custom ObjectMapper, supporting the application/json MIME type with UTF-8 character set.
      Parameters:
      objectMapper - the ObjectMapper to use
      Since:
      6.1
    • MappingJackson2MessageConverter

      public MappingJackson2MessageConverter(com.fasterxml.jackson.databind.ObjectMapper objectMapper, MimeType... supportedMimeTypes)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Construct a MappingJackson2MessageConverter with a custom ObjectMapper, supporting one or more custom MIME types.
      Parameters:
      objectMapper - the ObjectMapper to use
      supportedMimeTypes - the supported MIME types
      Since:
      6.1
  • Method Details

    • setObjectMapper

      public void setObjectMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Set the ObjectMapper for this converter.

      If not set, a default ObjectMapper is used.

      Setting a custom-configured ObjectMapper is one way to take further control of the JSON serialization process. For example, an extended 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.

    • getObjectMapper

      public com.fasterxml.jackson.databind.ObjectMapper getObjectMapper()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Return the underlying ObjectMapper for this converter.
    • setPrettyPrint

      public void setPrettyPrint(boolean prettyPrint)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Whether to use the DefaultPrettyPrinter when writing JSON.

      This is a shortcut for setting up an ObjectMapper as follows:

       ObjectMapper mapper = new ObjectMapper();
       mapper.configure(SerializationFeature.INDENT_OUTPUT, true);
       converter.setObjectMapper(mapper);
       
    • canConvertFrom

      protected boolean canConvertFrom(Message<?> message, @Nullable Class<?> targetClass)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Overrides:
      canConvertFrom in class AbstractMessageConverter
    • canConvertTo

      protected boolean canConvertTo(Object payload, @Nullable MessageHeaders headers)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Overrides:
      canConvertTo in class AbstractMessageConverter
    • logWarningIfNecessary

      protected void logWarningIfNecessary(Type type, @Nullable Throwable cause)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Determine whether to log the given exception coming from a ObjectMapper.canDeserialize(com.fasterxml.jackson.databind.JavaType) / ObjectMapper.canSerialize(java.lang.Class<?>) check.
      Parameters:
      type - the class that Jackson tested for (de-)serializability
      cause - the Jackson-thrown exception to evaluate (typically a JsonMappingException)
      Since:
      4.3
    • supports

      protected boolean supports(Class<?> clazz)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from class: AbstractMessageConverter
      Whether the given class is supported by this converter.
      Specified by:
      supports in class AbstractMessageConverter
      Parameters:
      clazz - the class to test for support
      Returns:
      true if supported; false otherwise
    • convertFromInternal

      protected @Nullable Object convertFromInternal(Message<?> message, Class<?> targetClass, @Nullable Object conversionHint)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from class: AbstractMessageConverter
      Convert the message payload from serialized form to an Object.
      Overrides:
      convertFromInternal in class AbstractMessageConverter
      Parameters:
      message - the input message
      targetClass - the target class for the conversion
      conversionHint - an extra object passed to the MessageConverter, for example, the associated MethodParameter (may be null)
      Returns:
      the result of the conversion, or null if the converter cannot perform the conversion
    • convertToInternal

      protected @Nullable Object convertToInternal(Object payload, @Nullable MessageHeaders headers, @Nullable Object conversionHint)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from class: AbstractMessageConverter
      Convert the payload object to serialized form.
      Overrides:
      convertToInternal in class AbstractMessageConverter
      Parameters:
      payload - the Object to convert
      headers - optional headers for the message (may be null)
      conversionHint - an extra object passed to the MessageConverter, for example, the associated MethodParameter (may be null)
      Returns:
      the resulting payload for the message, or null if the converter cannot perform the conversion
    • getSerializationView

      protected @Nullable Class<?> getSerializationView(@Nullable Object conversionHint)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Determine a Jackson serialization view based on the given conversion hint.
      Parameters:
      conversionHint - the conversion hint Object as passed into the converter for the current conversion attempt
      Returns:
      the serialization view class, or null if none
      Since:
      4.2
    • getJsonEncoding

      protected com.fasterxml.jackson.core.JsonEncoding getJsonEncoding(@Nullable MimeType contentType)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Determine the JSON encoding to use for the given content type.
      Parameters:
      contentType - the MIME type from the MessageHeaders, if any
      Returns:
      the JSON encoding to use (never null)