springmvc 信息转换类 HttpMessageConvertor<T> 接口

本文介绍Spring MVC框架中HttpMessageConverter接口的功能及其多种实现类。HttpMessageConverter用于将HTTP请求转换为Java对象或将Java对象转换为HTTP响应。文章列举了Spring内置的多种消息转换器,包括StringHttpMessageConverter、FormHttpMessageConverter等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HttpMessageConvertor<、T>是Spring 3.0之后新增的一个重要的接口,他负责将请求信息转换为一个对象(类型为T),并将对象(类型为T)绑定到请求方法的参数中或者输出为相应信息。

DispatcherServlet默认已经转配了RequestMappingHandlerAdapter作为HandlerAdapter组件的实现类,即HttpMessageConverter由RequestMappingHandlerAdapter使用,将请求信息转换为对象,或将对象转换为相应信息。

HttpMessageConverter<\T>接口中定义了以下几个方法:

boolean canRead(Class<\?> clazz,MediaType mediaType )该方法指定转换器可以读取的对象类型,即转换器可将请求信息转换为clazz 类型的对象,同时指定支持的MIME类型(text/html、application/json)

boolean canWrite(Class<\?> clazz,MediaType nediaType) 该方法指定类型转换器可以将clazz类型的对象写到相应流当中,响应流支持的媒体类型在mediaType中定义

List<\MediaType> getSupportedMediaTypes()该方法返回当前转换器支持的媒体类型

T read(Class<\? extends T> clazz,HttpInputMessage inputMessage )该方法将请求信息流转换为T类型的对象

void write(T t,MediaType contentType,HttpOutputMessage outputMessage)该方法将T类型的对象写到响应流当中,同时指定响应的媒体类型为contentType。

Spring为HttpMessageConverter<\T>提供了多个实现类,这些实现类组成了一个功能强大、用途广泛的信息转换家族,详细说明如下:

1、StringHttpMessageConverter
2、FormHttpMessageConverter
3、XmlAwareFormHttpMessageConverter
4、ResourceHttpMessageConverter
5、BufferedImageHttpMessageConverter
6、ByteArrayHttpMessageConverter
7、SourceHttpMessageConverter
8、MarshallingHttpMessageConverter
9、Jaxb2RootElementHttpMessageConverter
10、MappingJackson2HttpMessageConverter
11、RssChannelHttpMessageConverter
12、AtomFeeHttpMessageConverter

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值