版权声明:本文为博主原创文章,无需授权即可转载,甚至无需保留以上版权声明,转载时请务必注明作者。
https://blog.csdn.net/weixin_43453386/article/details/83615829
SpringBoot——》HttpMessageConverter消息转换器
一、HttpMessageConverter解决了什么问题
前提:
HTTP 请求和响应是基于文本 的,意味着浏览器和服务器通过交换原始文本进行通信。
java 中处理业务逻辑,都是以一个个有 业务意义的对象 为处理维度的
思考:
使用 controller中的方法返回 String 类型和域模型(或其他 Java 内建对象)。
如何将对象序列化/反序列化为原始文本?
文本到java对象的阻抗问题?
解决:
由 HttpMessageConverter 处理
Http请求和响应报文本质上都是一串字符串。
- 请求报文——》被封装成为一个ServletInputStream的输入流,供我们读取报文,把报文转成java对象
- 响应报文——》被封装成为一个ServletOutputStream的输出流,来输出响应报文。
1、HttpMessageConverter接口
public interface HttpMessageConverter<T> {
boolean canRead(Class<?> clazz, MediaType mediaType);
boolean canWrite(Class<?> clazz, MediaType mediaType);
List<MediaType> getSup