스프링 MVC를 사용하여 REST 스타일 서비스를 만드는 방법에 대해 Spring 3.0 Documentation과 Blog Posts (followups)을 읽었지만 ContentNegotiatingViewResolver 사용 방법에 대한 작동 예제를 찾을 수 없습니다. 나는이RESTful 서비스에 Spring 3.0 컨텐츠 협상을 사용하는 방법에 대한 예제가 있습니까?
@Controller
public class IndexController implements Serializable
{
@RequestMapping("/index")
public ModelAndView index()
{
ModelAndView mav = new ModelAndView();
mav.setViewName("index");
return mav;
}
}
같은 테스트 컨트롤러가와 URL의 확장에 따라 견해를 해결하기 위해 노력이
<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>
같은 것을 사용하려고 (내가 HTML, .XML을 지원하고자하고 .json). .html 뷰가 제대로 작동하지만 (올바른 JSP 뷰도 보여줌) JSON과 XML을 얻으려는 시도는 없었습니다 (defaultViews 속성을 설정하는 것은 내가 시도한 것 중 하나였습니다). 많은 독서 자료가있는 것 같지 않습니다. 아무도 경험이나 예제가 있습니까?
감사합니다. 컨텐츠 유형이 실제로 잘못되었지만 "이제 모델 {}에서 마샬링 될 객체를 찾을 수 없습니다."라는 예외가 발생합니다. XML 마샬 러가 올바르게 구성되어 있습니까 (JSON을 생성하도록 XStream을 구성하려고합니다). – Daff
@Daff 당신의 모델이 비어 있기 때문입니다 – axtavt
실제로, MarshallingView가 이것으로 무엇을해야하는지 알 수 있도록 모델을 설정해야합니다. 그러나 이것은 완전히 다른 질문이기 때문에이 것을 완료로 받아 들여 다음 단계로 넘어 가십시오. – skaffman