對於最近的項目,我們希望支持XML和另一種格式的resopnses。使用HttpMessageConverter進行Spring MVC內容協商
但是,我們無法控制Accept頭。因此,我們配置了一個ContentNegotiatingViewResolver使用,而不是一個請求參數:
<bean id="viewResolver" class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="favorParameter" value="true" />
<property name="parameterName" value="format" />
<property name="ignoreAcceptHeader" value="true" />
<property name="defaultContentType" value="application/xml" />
<property name="mediaTypes">
<map>
<entry key="xml" value="application/xml" />
<entry key="foo" value="application/x-foo" />
</map>
</property>
<property name="viewResolvers">
<list>
<bean class="org.springframework.web.servlet.view.ResourceBundleViewResolver" >
<property name="basename" value="views-xml" />
</bean>
<bean class="org.springframework.web.servlet.view.ResourceBundleViewResolver" >
<property name="basename" value="views-foo" />
</bean>
</list>
</property>
</bean>
但是現在,我在想,如果我可以移動使用和@ResponseBody實現HttpMessageConverter簡化的代碼,我需要保持量。
但是,是否有類似的方法來確保reqeust參數用於內容協商而不是Accept頭?