亚洲一区精品自拍_2021年国内精品久久_男同十八禁gv在线观看_免费观看a级性爱黄片

當前位置:文章中心>技術教程
公告通知 新聞快遞 技術教程 產品展示

通過SpringMVC框架響應JSON數據

發(fā)布時間:2021-11-23 點擊數:747

1. 通過SpringMVC框架響應JSON數據


在SpringMVC框架(含SpringBoot框架)中,當處理請求的方法之前添加了@ResponseBody后,或在控制器類之前使用的是@RestController,處理請求的方法的返回值將作為響應到客戶端的數據。


當服務器向客戶端響應數據時,SpringMVC框架會使用“轉換器”(Converter)將方法的返回值進行轉換,及處理響應時的響應頭(Response Headers)等內容,針對返回值類型不同,SpringMVC框架還會自動使用不同的轉換器。


當響應數據的類型(處理請求的方法的返回值類型)是String時,會自動使用StringHttpMessageConverter轉換器,該轉換器就會自動將返回的字符串作為數據響應到客戶端,并且,還會設置響應頭,默認情況下,在響應頭中會設置Content-Type屬性,其值是text/html; charset=ISO-8859-1,所以,在SpringMVC框架(不含SpringBoot框架)中,默認情況下,響應的String是不支持中文的!


當響應數據的類型是SpringMVC框架默認并不識別的類型時,且當前開發(fā)環(huán)境添加了jackson-databind依賴,SpringMVC框架會自動使用jackson-databind中的轉換器,而jackson-databind中的轉換器的工作方式就是將響應結果組織成JSON格式的數據,并且,將響應頭中的Content-Type設置成了application/json; charset=UTF-8!


在項目中只需要確保添加了jackson-databind依賴即可,并不需要進行額外的配置,也不需要顯式的使用到該框架中的某個類!

如果是使用XML進行相關配置的SpringMVC項目,需要在Spring的配置文件中開啟注解驅動,即在配置文件中添加:

<annotation-driven />


總的來說,如果需要SpringMVC框架能夠響應JSON格式的數據,需要:


使用@RestController或@ResponseBody注解;

在項目中添加jackson-databind依賴;

自定義處理請求的方法的返回值類型(只要是自定義的類型,就一定是SpringMVC框架默認不識別的類型)

當然,某個控制器類中,如果已經使用了@RestController注解,會表示“當前控制器類中處理的所有請求都將響應數據”,就不會執(zhí)行轉發(fā)或重定向的操作了,如果一定要執(zhí)行轉發(fā)或重定向,可以:


不使用@RestController注解,而是在每個需要響應數據的方法之前逐一添加@ResponseBody注解;

在使用@RestController的情況下,將需要轉發(fā)或重定向的方法的返回值類型聲明為ModelAndView類型。