Interface MessageConverter

All Known Subinterfaces:
SmartMessageConverter
All Known Implementing Classes:
AbstractJsonMessageConverter, AbstractMessageConverter, ByteArrayMessageConverter, CompositeMessageConverter, GenericMessageConverter, GsonMessageConverter, JsonbMessageConverter, KotlinSerializationJsonMessageConverter, MappingJackson2MessageConverter, MarshallingMessageConverter, ProtobufJsonFormatMessageConverter, ProtobufMessageConverter, SimpleMessageConverter, StringMessageConverter

public interface MessageConverter
A converter to turn the payload of a Message from serialized form to a typed Object and vice versa. The MessageHeaders.CONTENT_TYPE message header may be used to specify the media type of the message content.
Since:
4.0
Author:
Mark Fisher, Rossen Stoyanchev
  • Method Summary

    Modifier and Type
    Method
    Description
    fromMessage(Message<?> message, Class<?> targetClass)
    Convert the payload of a Message from a serialized form to a typed Object of the specified target class.
    toMessage(Object payload, MessageHeaders headers)
    Create a Message whose payload is the result of converting the given payload Object to serialized form.
  • Method Details

    • fromMessage

      @Nullable Object fromMessage(Message<?> message, Class<?> targetClass)
      Convert the payload of a Message from a serialized form to a typed Object of the specified target class. The MessageHeaders.CONTENT_TYPE header should indicate the MIME type to convert from.

      If the converter does not support the specified media type or cannot perform the conversion, it should return null.

      Parameters:
      message - the input message
      targetClass - the target class for the conversion
      Returns:
      the result of the conversion, or null if the converter cannot perform the conversion
    • toMessage

      @Nullable Message<?> toMessage(Object payload, @Nullable MessageHeaders headers)
      Create a Message whose payload is the result of converting the given payload Object to serialized form. The optional MessageHeaders parameter may contain a MessageHeaders.CONTENT_TYPE header to specify the target media type for the conversion and it may contain additional headers to be added to the message.

      If the converter does not support the specified media type or cannot perform the conversion, it should return null.

      Parameters:
      payload - the Object to convert
      headers - optional headers for the message (may be null)
      Returns:
      the new message, or null if the converter does not support the Object type or the target media type