提供的 MessageConverters
如前所述,该框架已经提供了MessageConverters
来处理最常见的用例。以下列表介绍了提供的MessageConverters
,按优先级顺序(第一个MessageConverter
使用有效的方法):
-
JsonMessageConverter
:顾名思义,它支持转换Message
to/from POJO 适用于以下情况contentType
是application/json
(默认)。 -
ByteArrayMessageConverter
:支持转换Message
从byte[]
自byte[]
适用于以下情况contentType
是application/octet-stream
. 它本质上是一个直通,主要是为了向后兼容性而存在的。 -
ObjectStringMessageConverter
:支持将任何类型转换为String
什么时候contentType
是text/plain
. 它调用 Object 的toString()
方法,或者,如果有效负载是byte[]
,新的String(byte[])
.
如果找不到合适的转换器,框架会抛出异常。发生这种情况时,您应该检查您的代码和配置,并确保您没有遗漏任何内容(即,确保您提供了contentType
通过使用绑定或标头)。但是,您很可能发现了一些不常见的情况(例如自定义contentType
也许)和当前提供的堆栈MessageConverters
不知道如何转换。如果是这种情况,您可以添加自定义MessageConverter
. 请参阅用户定义的消息转换器。