一、原理
HTTP 的请求 = 请求头 ( Header )+ 请求体 (Body )+ URL + 参数.
服务器还包含其上下文环境和客户端交互会话( Session )机制,而这里的消息转换是指请求体的转换 。
所以,这里明确两个事儿,一个是输出为JSON,一个请求体的参数转换,别乱。
当一个请求来到时,会首先从http请求和上下文环境来得到参数。
注1:如果是简单的参数,会以简单的转换器进行转换,这是SpringMVC自身提供的。如int等。
注2:如果是转换http请求体(BODY),会调用HttpMessageConverter接口。
注3: 调用HttpMessageConverter接口对 请求体(Body )进行转换,
首先、会判断能否进行转换 canRead。
然后、将(用户JSON)转换 read 为控制器参数(用户User)。
注4: 参数转换用到的是 canRead + read
注5: 输出为为JSON用到的是 canWrite + write