Spring内置HttpMessageConverter 转换器,其运行原理:
(1)HttpInputMessage 将请求的信息先转为 InputStream 对象,InputStream 再由 HttpMessageConverter 转换为 SpringMVC 需要的java对象;
(2)SpringMVC 返回一个 java 对象, 并通过 HttpMessageConverter 转为响应信息,接着 HttpOutputMessage 将响应的信息转换为 OutputStream,接着给出响应。
当控制器检测到@RequestMapping时spring首先根据请求头的Accept属性选择匹配的HttpMessageConverter,进而根据参数类型或者范型类型的过滤得到匹配的HttpMessageConverter,如找不到可用的将报错。
我们项目中用的是MappingJackson2HttpMessageConverter。(ObjectMapper可以将json转换成java对象)
(1)HttpInputMessage 将请求的信息先转为 InputStream 对象,InputStream 再由 HttpMessageConverter 转换为 SpringMVC 需要的java对象;
(2)SpringMVC 返回一个 java 对象, 并通过 HttpMessageConverter 转为响应信息,接着 HttpOutputMessage 将响应的信息转换为 OutputStream,接着给出响应。
当控制器检测到@RequestMapping时spring首先根据请求头的Accept属性选择匹配的HttpMessageConverter,进而根据参数类型或者范型类型的过滤得到匹配的HttpMessageConverter,如找不到可用的将报错。
我们项目中用的是MappingJackson2HttpMessageConverter。(ObjectMapper可以将json转换成java对象)