W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
如前所述,該框架已經(jīng)提供了MessageConverters
堆棧來處理最常見的用例。以下列表按優(yōu)先級描述了提供的MessageConverters
(使用了第一個有效的MessageConverter
):
ApplicationJsonMessageMarshallingConverter
:org.springframework.messaging.converter.MappingJackson2MessageConverter
的變體。對于contentType
為application/json
(默認)的情況,支持將Message
的有效負載轉換為POJO或從POJO轉換為PO195。TupleJsonMessageConverter
:已棄用支持將Message
的有效負載轉換為org.springframework.tuple.Tuple
或從org.springframework.tuple.Tuple
轉換。ByteArrayMessageConverter
:在contentType
為application/octet-stream
的情況下,支持將Message
的有效載荷從byte[]
轉換為byte[]
。它本質上是一個傳遞,主要是為了向后兼容而存在。ObjectStringMessageConverter
:當contentType
為text/plain
時,支持將任何類型轉換為String
。它調用Object的toString()
方法,或者,如果有效載荷為byte[]
,則調用新的String(byte[])
。JavaSerializationMessageConverter
:已棄用當contentType
為application/x-java-serialized-object
時,支持基于Java序列化的轉換。KryoMessageConverter
:已棄用當contentType
為application/x-java-object
時,支持基于Kryo序列化的轉換。JsonUnmarshallingConverter
:類似于ApplicationJsonMessageMarshallingConverter
。當contentType
為application/x-java-object
時,它支持任何類型的轉換。它期望將實際類型信息作為屬性嵌入在contentType
中(例如,application/x-java-object;type=foo.bar.Cat
)。當找不到合適的轉換器時,框架將引發(fā)異常。發(fā)生這種情況時,應檢查代碼和配置,并確保您沒有錯過任何內(nèi)容(即,確保使用綁定或標頭提供了contentType
)。但是,很可能您發(fā)現(xiàn)了一些不常見的情況(例如自定義contentType
),并且提供的MessageConverters
的當前堆棧不知道如何進行轉換。在這種情況下,您可以添加自定義MessageConverter
。請參見“用戶定義的消息轉換器”。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: