Spring MVC 返回JSON
阿新 • • 發佈:2018-10-23
property 客戶 media true jackson nbsp 實體類 servle 類集
JSON是一種通用的傳輸數據的格式,現在處理JSON數據的jar包有很多,比如Jackson,Gson等,大部分方法都類似,無非是將實體類-JSON互相轉換。
在Spring MVC中,已經不需要我們特地的將查詢出來的實體類集合手動的轉換為JSON數據,再返回給前端。
在SpringMVC配置文件中,有一個專門返回數據類型的bean,叫作ContentNegotiatingViewResolver(內容協商視圖解析器),這個視圖解析器允許用同樣的內容數據呈現不同的view。
如果想通過配置的方式,將實體類自動以JSON的格式返回,這樣可以大大的減少代碼量,也能減少對代碼的汙染,可以參照如下配置:
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver"> <property name="order" value="1" /> <property name="mediaTypes"> <map> <entry key="json" value="application/json" /> </map> </property> <property name="defaultViews"> <list> <!-- JSON View --> <bean class="org.springframework.web.servlet.view.json.MappingJackson2JsonView"> </bean> </list> </property> <property name="ignoreAcceptHeader" value="true" /> </bean>
我們註入了一個org.springframework.web.servlet.view.json.MappingJackson2JsonView的類,當我們在控制器返回數據時,就會自動的幫我們解析JSON數據,返回給客戶端。當然記得在加上@responseBody註解。
Spring MVC 返回JSON