SpringMVC返回JSON提示:HttpMessageNotWritableException: No converter found for return value of type
阿新 • • 發佈:2018-12-10
目錄
一、問題描述
1.今天使用[email protected]返回JSON資料格式的時候發現提示下面的錯誤
2.錯誤內容為:Failed to write HTTP message: org.springframework.http.converter.HttpMessageNotWritableException: No converter found for return value of type: class com.codecoord.entity.Person
3.出現錯誤以後上網找答案發現根本沒有自己想要的,就算有看半天也沒有說怎麼解決,所以特記下這個問題給遇到同樣問題的朋友參考
二、問題分析
1.首先看一下控制器,返回String型別正常,但是當返回物件的時候就出異常提示:No converter found for return value of type
2.出現這個問題的根本原因就是在SpringMvc配置檔案中沒有啟動註解掃描!也就是沒有開啟<mvc:annotation-driven />,那為什麼開啟這個標記呢?原因就是<mvc:annotation-driven /> 會自動註冊以下兩個bean:
- DefaultAnnotationHandlerMapping
- AnnotationMethodHandlerAdapter
這兩個bean是spring MVC為@Controllers分發請求所必須並提供了資料繫結支援,如
- @NumberFormatannotation
- @DateTimeFormat
- @Valid
- 讀寫XML(JAXB),
- 讀寫JSON(Jackson)
3.知道原因之後只需在配置檔案中開啟註解掃描就行了
三、解決步驟
1.開啟註解掃描
2.重新訪問,JSON資料成功顯示 {"id":1,"name":"SpringMVC","age":22}