swagger2,form表單顯示正常, @requestBody 讀不到對(duì)像值 ,-models對(duì)象為{}值,問題分析

打開 swagger-ui.html,發(fā)現(xiàn)后臺(tái)有異常信息如:

上圖是JSON解析異常,找到源碼發(fā)生地:

調(diào)試swagger對(duì)象的信息,由于內(nèi)容比較多就沒有一個(gè)值去分析哪里解析出錯(cuò)了,雖然解析出現(xiàn)了異常,界面信息還是正常的展示出來了,就沒有繼續(xù)關(guān)注解析糾結(jié)這個(gè)問題

接下來查看具體的接口信息時(shí) body類型查詢條件對(duì)象顯示為空,@ requestBody,@ApiModel,@ApiModelProperty都已經(jīng)配置了,就是不出來,在網(wǎng)上找了查了很資料,有說缺少@requestBody,有人說對(duì)像缺少setter getter方法,都不是這些根源,如圖:

問題
測(cè)試碼
測(cè)試碼

所有配置信息都是正確,最后還是回到啟動(dòng)時(shí)加載的日志發(fā)現(xiàn)空指異常,可能是這個(gè)問題導(dǎo)致對(duì)象顯示{}

跟蹤源碼找到ObjectMapper,=? null為了快速解決問題在網(wǎng)上找了下:

轉(zhuǎn)載:http://www.itdecent.cn/p/a7c282a8db01

但是我們用的2.9的版本,也實(shí)現(xiàn)了這個(gè)接口

源碼

?繼續(xù)跟蹤代碼,找到objectMaper設(shè)值的地方:


源碼


源碼

加載bean初始化的時(shí)候并沒有調(diào)用這個(gè)方法,這個(gè)是初始化的BEAN的后置方法,按資料的配置應(yīng)當(dāng)不需要配置這個(gè),后續(xù)再關(guān)注下是不是與本身的開發(fā)平臺(tái)有關(guān)聯(lián)導(dǎo)致的,先解決問題。

方案:

將配置加入到 application.xml中可以正常加載,如圖:


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容