I was reading the Spring 3.0 Documentation and Blog Posts (followups) on how to create REST style services with Spring MVC but I can't find any working example on how to use the ContentNegotiatingViewResolver. I have a test controller like this
@Controller
public class IndexController implements Serializable
{
@RequestMapping("/index")
public ModelAndView index()
{
ModelAndView mav = new ModelAndView();
mav.setViewName("index");
return mav;
}
}
and tried to use something like this
<bean
class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="mediaTypes">
<map>
<entry key="html" value="text/html" />
<entry key="xml" value="text/xml" />
<!--
<entry key="json" value="application/json"/>
-->
</map>
</property>
<property name="defaultContentType"><value>text/html</value></property>
<property name="defaultViews">
<bean class="org.springframework.web.servlet.view.xml.MarshallingView">
<property name="marshaller">
<bean class="org.springframework.oxm.xstream.XStreamMarshaller" />
</property>
</bean>
</property>
<property name="viewResolvers">
<list>
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/pages/" />
<property name="suffix" value=".jsp" />
</bean>
</list>
</property>
</bean>
trying to resolve the views according to the extension in the URL (I want to support html, .xml and .json). The .html view works (showing the correct JSP view, too) but nothing else I tried for getting JSON and XML up and running seems to work (setting the defaultViews property was just one of the things I tried). There doesn't seem to be that much reading material either. Does anybody have experience or examples?