だから、私が持っている設定として正しくシリアル化されたJSONを書いているジャクソン - HashMapのようにデシリアライズMap実装
.defaultTyping(NON_FINAL)
:
"headers": [
"org.springframework.messaging.MessageHeaders",
{
さて、問題はMessageHeadersクラスは、地図を実施しているということですが、また、putメソッドをオーバーライドして例外をスローします。それは実際には地図があるため(
"headers": [
"java.util.HashMap",
{
または明示的にHashMapのようMessageHeadersをデシリアライズすることができるようにする
を:これを適切にデシリアライズするために、私はそう、HashMapのようにこれをシリアル化できるようにするeaither必要があります。もう1つの質問は、HashMapとしてMapを実装するObjectをシリアライズする方法、またはObject実装マップをHashMapとしてデシリアライズする方法です。
@ JsonDeserialize(as = java.util.HashMap.class)注釈を試しましたか? –
はい、私はしました。スローされた例外は、MessageHeadersをHashMapとして直列化解除できないことです。 MessageHeadersはMapインターフェイスのみを実装します。内部的には、この値を格納するために使用される最終的なMapヘッダープロパティーを持っています。 –
また、@ JsonSerialize(= Map.classとして)を試しましたが、NON_FINALの既定の型入力が優先されると仮定します –