HttpMessageConverter<T>是Spring3.0新添加的一个重要接口,它负责将请求信息转换为一个对象,将对象输出为响应信息。
DispatcherServlet默认已安装了AnnotationMethodHandlerAdapter使用,将请求信息转换为对象,或将对象转换为相应信息。
HttpMessageConverter<T>接口定义以下几个方法:
1.Boolean canRead(Class<?> clazz,MediaType mediaType):指定转换器可以读取的对象类型,即转换器可将请求信息转换为clazz类型的对象,同时指定支持MIME类型(text/html,applaiction/json等),MIME媒体类型在RFC2616中定义
2.Boolean canWrite(Class<?> clazz,MediaType mediaType):指定转换器可以讲clazz类型的对象写到响应流中,响应流支持的媒体类型在MediaType中定义。
3.LIst<MediaType> getSupportMediaTypes():该转换器支持的媒体类型。
4.T read(Class<? extends T> clazz,HttpInputMessage inputMessage):将请求信息流转换为T类型的对象。
5.void write(T t,MediaType contnetType,HttpOutputMessgae outputMessage):将T类型的对象写到响应流中,同时指定相应的媒体类型为contentType。