Spring 3.1 アプリケーションは、次の方法でメッセージ コンバーターを使用します。
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
....
....
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter"/>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="writeAcceptCharset" value="false"/>
</bean>
<bean class="org.springframework.http.converter.ResourceHttpMessageConverter"/>
<bean class="org.springframework.http.converter.xml.SourceHttpMessageConverter"/>
<bean class="org.springframework.http.converter.xml.XmlAwareFormHttpMessageConverter"/>
<bean class="org.springframework.http.converter.xml.Jaxb2RootElementHttpMessageConverter"/>
<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"/>
<bean class="org.springframework.http.converter.feed.AtomFeedHttpMessageConverter"/>
</list>
</property>
</bean>
<bean class="org.codehaus.jackson.map.ObjectMapper" name="objectMapper"/>
私のコントローラーの1つに、次のようなRequestMappingがあります。
@RequestMapping(value = "pathFoo", produces = MediaType.APPLICATION_ATOM_XML_VALUE)
public @ResponseBody Feed getFooAtomXML(HttpServletRequest request, HttpServletResponse response){
しかし、リクエスト ヘッダー Accept=application/atom+xml を指定しない限り、レスポンスは XML ではなく JSON として返されるようです。リクエストヘッダーが存在するかどうかに関係なく、このマッピングで AtomFeedHttpMessageConverter が使用されるようにアプリケーションを構成するにはどうすればよいですか?
ViewResolver に頼る必要がありますか?