1.设置媒体类型
将您的实现与
HttpMessageConverterSpring提供的某些实现进行比较(例如“
MappingJackson2HttpMessageConverter”),表明您错过了定义的过程
supportedMediaTypes。
HttpMessageConverter扩展的常用方法
AbstractHttpMessageConverter<T>是通过使用super构造函数在构造函数中设置媒体类型
AbstractHttpMessageConverter.(MediaTypesupportedMediaType)。
public class EmployeeConverter extends AbstractHttpMessageConverter<Employee> { public EmployeeConverter() { super(new MediaType("text", "xml", Charset.forName("UTF-8"))); } }
顺便说一句:您还可以注册不止一种媒体类型**
super(MediaType.APPLICATION_XML, MediaType.TEXT_XML, new MediaType("application", "*+xml"));
顺便说一句2:对于xml转换者,应该考虑从
AbstractXmlHttpMessageConverter<T>
2.注册您的转换器
<mvc:annotation-driven> <mvc:message-converters> ... <bean /> </mvc:message-converters></mvc:annotation-driven>
的主要缺点<mvc:message-converters>
是,它将替换默认配置,因此您还必须注册所有默认HttpMessageConverter
显式。
要保留默认消息转换,您需要使用:
<mvc:message-converters register-defaults="true">...
- *由其他实现(例如MappingJackson2HttpMessageConverter´)使用
- **示例取自
AbstractXmlHttpMessageConverter<T>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)