springMVC 处理json 及 HttpMessageConverter 接口
?一、SpringMVC處理json的使用
?1、添加依賴jar包
<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-annotations</artifactId><version>2.8.7</version> </dependency> <dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.8.7</version> </dependency> <dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.8.7</version> </dependency>2、編寫目標(biāo)方法,使其返回 JSON 對應(yīng)的對象或集合;
3、在方法上添加 @ResponseBody 注解:
@Controller @RequestMapping("/user") public class UserController {@Autowiredprivate UserService userService;@RequestMapping("/getUserList")@ResponseBodypublic Map<String, Object> getUserList(Model model){List<User> userlist = userService.getUserList();Map<String, Object> map = new HashMap<>();map.put("aaData", userlist);return map;} }?
二、HttpMessageConverter
1、HttpMessageConverter信息
HttpMessageConverter<T> 是 Spring3.0 新添加的一個(gè)接口,負(fù)責(zé)將請求信息轉(zhuǎn)換為一個(gè)對象(類型為 T),將對象(類型為 T)輸出為響應(yīng)信息?
?
2、HttpMessageConverter 運(yùn)行原理
?
(1)HttpInputMessage 將請求的信息先轉(zhuǎn)為 InputStream?對象,InputStream 再由?HttpMessageConverter 轉(zhuǎn)換為 SpringMVC 需要的java對象;
(2)SpringMVC 返回一個(gè) java 對象, 并通過 HttpMessageConverter 轉(zhuǎn)為響應(yīng)信息,接著?HttpOutputMessage?將響應(yīng)的信息轉(zhuǎn)換為 OutputStream,接著給出響應(yīng)。
?
3、 HttpMessageConveter 的實(shí)現(xiàn)類
?
4、 SpringMVC 默認(rèn)加載的 HttpMessageConverter 實(shí)現(xiàn)類
(1)DispatcherServlet 默認(rèn)加載 HttpMessageConveter 的6個(gè)實(shí)現(xiàn)類,如下所示:
?
(2)加入 jackson jar包后,啟動(dòng)的時(shí)候加載 7個(gè) HttpMessageConverter 的實(shí)現(xiàn)類,如下所示:
?
?5、使用?HttpMessageConverter
(1) @ResponseBody 和 @RequestBody 示例:
?
(2) HttpEntity 和 ResponseEntity 示例
?
轉(zhuǎn)載于:https://www.cnblogs.com/yufeng218/p/6623329.html
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的springMVC 处理json 及 HttpMessageConverter 接口的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Struts(十六):通过CURD来学习
- 下一篇: cmake编译android平台的lib