spring信息转换接口
1. httpMessageConverter接口
接口方法
- boolean canRead(Class<?> clazz,MediaType mediaType):该方法指定转换器需要读取的类型,即将信息转换为clazz对象,同时指定MINI类型(text\html、application\json).
- boolean canWrite(Class<?> clazz,MediaType mediaType):可将clazz对象写入相应流中
- List getSupportMediaType;
- T read(Class<? extends T>clazz,HttpInputMessage inputMessage):将方法请求信息流转换成T类型对象。
- void write(T t,MediaType contentType,httpOutputMessage, outputMessage)
实现类及方法
- StringMessageConverter
- FormHttpMessageConverter:将表单读取到MulitValieMap中
- XmlAwareFormHttpMessageConverter(FormHttpMessageConverter的子类):
- ResourceHttpMessageConverter:读写org.springframework.core.io.Resource对象
- BufferedImageHttpMessageConverter:读写BufferedImage对象
- ByteArrayHttpMessageConverter:读取二进制数据
- SourceHttpMessageConverter:读取javax.xml.transform.Source对象
- MrshallingHttpMessageConverter:通过spring的org.springframework.oxm.Marshlling(将java对象转换成xml)和Unmarshaller(将xml解析厂java对象)读写xml信息
- Jaxb2RootRlementHttpMessageConverter:通过JAXB2读写XML消息转换到注解XmlTootElement和XmlType作用的类中,
- MappringJackson2HttpMessageConverter:录用jackson读写JSON数据
- RssChannelHttpMessageConverter:读写RSS种子消息,读取application/rss+xml类型数据
- AtomfeedHttpMessageConverter:读写RSS种子消息,读取application/atom+xml类型数据
RequestMappingHandlerAdapter默认装配了以下HttpMessageConverter
- StringMessageConverter
- ByteArrayHttpMessageConverter
- XmlAwareFormHttpMessageConverter
- SourceHttpMessageConverter
json
@RequestBoty不能处理multipart/form-data 类型数据
data:json.stringify({})