最近在使用 springBoot開發的時候, 使用PostMan訪問接口, 返回一個 404 , 后台報一個 warn :
Failed to read HTTP message: org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing:
public com.syh.foundation.ResponseMessage com.xxxxx.list(xxxxx.vo.AppCostVo)
檢查了各個類, 排查了各個可能的地方都沒有發現錯誤, 左后在網上 查找到有人 報 : Failed to write HTTP message 錯誤, 其解釋為:
{
這個異常是我在使用Spring中,在JavaBean中使用了包裝類Integer,
private Integer pageNum;而在方法中使用了@ResponseBody注解,
在return map返回給前台時Spring中的類com.fasterxml.jackson.databind.JsonMappingException
這個類會對包裝類自動拆箱成對應的基本類型,如果返回的Integer中存在null的話,那么在拆箱成int時就會報錯
如果將null賦值給包裝類Integer,然后將Integer賦給各自的基本類型,編譯器不會報,但是你將會在運行時期遇到空指針異常。
這是Java中的自動拆箱導致的,任何含有null值的包裝類在Java拆箱生成基本數據類型時候都會拋出一個空指針異常。
} 其博客連接 :https://blog.csdn.net/wgs_93/article/details/56014607
write是這樣的原因, 那么 read 就是 傳入了空值諾 ???
我這里使用了 vo類接收參數, 並且使用 了 @requsetBody 注解, 所以與上文原因類似~~~
一檢查果然是這樣的。。。。。