此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 spring-cloud-stream 4.3.0! |
提供的 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
.请参阅用户定义的消息转换器。