在半天的谷歌搜索后,我设法在配置类上注册了一个自定义的HttpMessageConverter。像这样:
@Configuration
public class WebConfig extends WebMvcConfigurationSupport {
@Bean
@Override
public RequestMappingHandlerAdapter requestMappingHandlerAdapter() {
RequestMappingHandlerAdapter handlerAdapter = super.requestMappingHandlerAdapter();
handlerAdapter.getMessageConverters().add(0, new CustomConverter());
return handlerAdapter;
}
}
有没有办法使用XML配置文件?
答案 0 :(得分:3)
以下是Spring 3.2的答案:
<mvc:annotation-driven >
<mvc:message-converters register-defaults="false">
<bean class="me.MyCustomMessageConverter"/>
<bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter"/>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="writeAcceptCharset" value="false"/>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
不要忘记定义mvc
命名空间:http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
我没有找到,如何在转换器列表的顶部添加自己的转换器。可以使用register-defaults
属性重新定义转换器堆栈。
标准堆栈在此Spring类RequestMappingHandlerAdapter
的构造函数中定义。可以从那里复制所需的转换器。