此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 spring-cloud-stream 4.1.4! |
提供的 MessageConverters
如前所述,该框架已经提供了MessageConverters
来处理最常见的使用案例。
以下列表描述了提供的MessageConverters
,按优先顺序(第一个MessageConverter
that works 被使用):
-
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
通过使用 Binding 或 Header)。
但是,您很可能发现了一些不常见的情况(例如自定义contentType
也许)和当前提供的MessageConverters
不知道如何转换。如果是这种情况,您可以添加自定义MessageConverter
.请参见用户定义的消息转换器。