2
我有一個普通的spring3 Web項目設置,並有一個控制器方法是這樣的:Spring3 REST Web服務
@RequestMapping(method = RequestMethod.GET, value = "/book/{id}", headers = "Accept=application/json,application/xml")
public @ResponseBody
Book getBook(@PathVariable final String id)
{
logger.warn("id=" + id);
return new Book("12345", new Date(), "Sven Haiges");
}
它返回將被轉換成JSON或XML的一本新書的對象,因爲我在春季配置變壓器配置:
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="jsonConverter" />
<ref bean="marshallingConverter" />
</list>
</property>
</bean>
JSON生成(和XML)的所有作品,但我希望能夠爲數據定義多個視圖。例如,我想指定一個詳細的視圖,在公開的JSON/XML中使用較少的屬性,並使用一組完整的屬性指定一個詳細視圖。
使用傑克遜的ObjectMapper這是可能是這樣的:
objectMapper.writeValueUsingView(out, beanInstance, ViewsPublic.class);
有沒有一種方法,我可以配置Spring使用特定視圖(詳細/摘要)?現在唯一的方法是使用從我的控制器方法返回的不同的DTO。
Thanx!
我會放鬆自動xml/json視圖切換的方式。有沒有辦法來防止這種情況? –