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