文章参考:
1 http://blog.csdn.net/silencecarrot/article/details/52493709
2 http://blog.csdn.net/qq924862077/article/details/55222947
前言:
HttpMessageConverter接口是Spring3.0之后新增的一个接口,它负责将请求信息转换为一个对象(类型为T),并将对象(类型为T)绑定到请求方法的参数中或输出为响应信息。
一 丶HttpMessageConverter接口源码
在SpringMVC中,DispatcherServlet默认装配了RequestMappingHandlerAdapter作为HandlerAdapter组件的实现类,即HttpMessageConverter由RequestMappingHandlerAdapter使用,将请求信息转换为对象,或将对象转换为响应信息。其中RequestMappingHandlerAdapter是如何使用HttpMessageConverter的实现类的后续会有新文章说明。
下面是HttpMessageConverter接口中定义了方法:
package org.springframework.http.converter;
import java.io.IOException;
import java.util.List;
import org.springframework.http.HttpInputMessage;
import org.springframework.http.HttpOutputMessage;
import org.springframework.http.MediaType;
/**
* Strategy interface that specifies a converter that can convert from and to HTTP requests and responses.
*
* @author Arjen Poutsma
* @author Juergen Hoeller
* @since 3.0
*/
public interface HttpMessageConverter<T> {
/**
* 该方法指定转换器可以读取的对象类型,即转换器可将请求信息转换为clazz类型的对象,
* 同时指定支持的MIME类型(text/html、application/json等)。
*/
boolean canRead(Class<?> clazz, MediaType mediaType);
/**