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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值