1. 程式人生 > >SpringMVC返回JSON提示:HttpMessageNotWritableException: No converter found for return value of type

SpringMVC返回JSON提示:HttpMessageNotWritableException: No converter found for return value of type

目錄

一、問題描述

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}