I m quiet new to springmvc. Today when I lea @ResponseBody, I have some questions about messageConverters:
<bean class="org.springframework.web.servlet.mvc.method.aotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>
<bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter"/>
<bean class="org.springframework.http.converter.xml.SourceHttpMessageConverter"/>
<bean class="org.springframework.http.converter.FormHttpMessageConverter"/>
<bean class="org.springframework.http.converter.StringHttpMessageConverter"/>
</list>
</property>
</bean>
As above, we could declare a list of different converters. So it means we could choose one of them as response body converter.
But how to choose the one to use? For example, in functionA() to retu JSON and then in functionB() to retu XML.
My way is to force Content-Type of response, is it a correct way? Or does a better solution existing?
public @ResponseBody User getUser(HttpServletResponse response) {
response.setContentType("application/xml");
// SOME CODES HERE
retu user;
}
