我们是否可以动态处理http媒体类型或使用“ByteArrayHttpMessageConverter”处理多种媒体类型? 我的要求是,在从服务器检索文档之前,我不会知道确切的媒体类型!所以要么我应该尝试动态处理它,或者我应该去包括要处理的所有可能的媒体类型:( 你能告诉我一些想法吗? 这里是弹簧论坛的链接,我已经发布了它很久没有任何回应。 http://forum.springsource.org/showthread.php?124301-Handling-multiple-media-types
提前致谢! Paary
答案 0 :(得分:0)
动态更改媒体类型对于消息转换器来说并不自然,因为(严格来说)每个消息转换器都绑定到某些特定的媒体类型。如果多个消息转换器盲目支持相同的媒体类型,Spring MVC将无法根据Accept-type
客户端头选择正确的消息转换器。
您需要编写可以扩展ByteArrayHttpMessageConverter
的特定邮件转换器。您需要覆盖AbstractHttpMessageConverter#getDefaultContentType(T t)
方法,该方法传递要写入的对象,因此您可以动态定义返回的Content-type
。