首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何才能严格添加一个Spring HttpMessageConverter?

我如何才能严格添加一个Spring HttpMessageConverter?
EN

Stack Overflow用户
提问于 2014-11-19 01:52:22
回答 2查看 663关注 0票数 0

我有一个Spring MVC控制器,它使用大量配置的Jackson映射器将POST主体从外部服务转换为Java对象。因为这个控制器是一个可嵌入的组件,所以映射器只用于这个特定的数据类型,并且我有一个正确处理转换的HttpMessageConverter

但是,我在将此转换器连接到Web MVC配置时遇到了问题,因为它不涉及嵌入此控制器的主应用程序的配置。我尝试过WebMvcConfigurerAdapter,但与允许添加自定义格式化程序的addFormatters不同,在configureMessageConverters中添加的任何转换器都会阻止Spring添加默认的转换器集;似乎没有任何类似的register-defaults选项。

在不影响应用程序其余部分转换服务的情况下,外接程序组件注册自己的自定义HttpMessageConverter的最干净方法是什么?

EN

回答 2

Stack Overflow用户

发布于 2014-11-19 02:33:01

这是一个脆弱的解决方案,我欢迎更健壮的替代方案,但我有如下的基本功能:

RequestMappingHandlerAdapter使用的List<HttpMessageConverter<?>>在Spring MVC架构中的其他地方被引用,但不是防御性的复制。获取对bean中的RequestMappingHandlerAdapter的引用并手动调用

代码语言:javascript
复制
rhma.getMessageConverters.add(0, myConverter);

工作,但这取决于许多独立组件的内部行为。

票数 0
EN

Stack Overflow用户

发布于 2018-05-17 04:21:01

可以为每个servlet配置HttpMessageConverters。如果将额外的dispatcher servlet添加到web.xml,则可以为该servlet单独配置HttpMessageConverters

web.xml:

代码语言:javascript
复制
...
<servlet>
    <servlet-name>custom</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
...
<servlet-mapping>
    <servlet-name>custom</servlet-name>
    <url-pattern>/custom/*</url-pattern>
</servlet-mapping>
...

custom-servlet.xml:

代码语言:javascript
复制
<beans>
  <mvc:annotation-driven>
    <mvc:message-converters>
      <bean class="org.springframework.http.converter.xml.Jaxb2RootElementHttpMessageConverter"/>
    </mvc:message-converters>
  </mvc:annotation-driven>
  <mvc:default-servlet-handler />
  <context:component-scan base-package="package.containing.custom.controller" use-default-filters="false">
    <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />
  </context:component-scan>
</beans>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27000730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档