- 在后端我们给请求处理的方法标记一个@ResponseBody注解,相当于数据是直接响应出去而不是跳转出去。
- 原理:当我们给方法加入@ResponseBody注解,代表我们的数据想要响应出去,springmvc在底层会调用一个叫RequestResponseBodyMethodProcessor的处理器来处理我们的返回值。
- 而这个处理器底层又是通过调用MessageConverter(消息转换器)来进行数据类型的转换。而这些MessageConverter(消息转换器)每一种都能操作对应的媒体类型数据(读、写)。
- 最终通过内容协商即客户端需要什么类型的数据(获取客户端Accept请求头字段[例:application/xml])和底层MessageConverter(消息转换器)能够支持什么类型的数据来进行内容协商,找到最终合适的MessageConverter(消息转换器)将后端获取的数据转换成客户端需要的数据。
有其他间接或疑问欢迎评论指教或讨论,如果有帮助希望给个点赞,谢谢!