Spring MVC を使用して REST スタイルのサービスを作成する方法についてSpring 3.0 のドキュメントとブログ投稿 (フォローアップ)を読んでいましたが、ContentNegotiatingViewResolver の使用方法に関する実用的な例が見つかりません。私はこのようなテストコントローラを持っています
@Controller
public class IndexController implements Serializable
{
@RequestMapping("/index")
public ModelAndView index()
{
ModelAndView mav = new ModelAndView();
mav.setViewName("index");
return mav;
}
}
そして、このようなものを使用しようとしました
<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>
URLの拡張子に従ってビューを解決しようとしています(html、.xml、および.jsonをサポートしたい)。.html ビューは機能します (正しい JSP ビューも表示されます) が、JSON と XML を起動して実行するために試したものは他に何もないようです (defaultViews プロパティの設定は、私が試したことの 1 つにすぎません)。読み物もあまりないようです。誰か経験や例がありますか?