jackson多型解析問題及解決方案

2021-10-25 11:01:26 字數 992 閱讀 6982

類結構:

介面類:criteria

public

inte***ce

criteria

實現類1:andcriteria

@data

public

class

andcriteria

implements

criteria

實現類2:orcriteria

@data

public

class

orcriteria

implements

criteria

場景

controller層有乙個介面

public

void ***x(@requestbody criteria criteria)

此時直接接收會報錯如下:

解決方案

使用jackson的@jsonsubtypes註解

@jsontypeinfo

( use = jsontypeinfo.id.name,

include = jsontypeinfo.as.property,

property =

"type"

//傳遞引數必備的字段

)@jsonsubtypes()

public

inte***ce

criteria

jsontypeinfo.as.property:type做為請求報文字段帶入,值就是下邊定義的and、or。要是不存在對應型別會報異常。此處還有其他的型別可以搜一下,常用的還是這個。報文如下格式:

, ***x:***x //其他的字段

}

多型問題解析

首先,什麼是多型?多型 多種形態 class 動物 class 貓 extends 動物 把貓看成貓 貓 mao new 貓 常態 把貓看成動物 動物 mao new 貓 多型 把子類型別的物件看成了父類型別 貓 mao new 動物 錯誤的 多型 父類型別的引用指向了子類物件 多型的前提條件 存在...

ruby cucumber環境配置問題及解決方法

一 安裝ruby 安裝完之後在命令視窗執行ruby v 提示ruby 不是內部命令或外部命令,也不是可執行的程式或批處理檔案 原因 安裝的時候提示說自動新增path 什麼的,那 兩個選項都應該打鉤 二 安裝devkit 的安裝目錄 在命令列下轉到devkit 的目錄 執行 ruby dk.rb in...

springMVC整合dubbo問題及解決方法

1.註解方式,提供者正常,但消費者獲取不到物件,提示空指標 測試過程中發現service必須宣告為static才可以正常使用。原因分析 與註解順序有關 解決方法 指定springmvc與dubbo註解掃瞄的順序 2.警告 多個不同應用註冊了相同服務,請檢查aaa provider和bbb provi...