我希望在Spring Data REST中生成XML有一個簡單的答案,但我還沒有找到。我們默認使用JSON,因爲我們認爲這是一個用於傳輸對象的超級簡單輕量級「協議」,並且對於大多數情況來說,它的工作效果足夠好。
有幾個與XML的問題,我們還沒有找到合理的答案:
- 如何表示XML對象?我是否使用屬性名稱作爲元素名稱,還是使用標準元素名稱並將屬性名稱放在屬性中?
- 我在哪裏可以確定房產的類型(無論是複雜還是簡單,Long,BigInteger還是你)?
- 我是否免除了所有的自定義映射信息,只使用JAXB或Spring OXM?
- 我該如何處理鏈接?我是否使用Atom命名空間鏈接元素?
- 如果我已經使用了Atom,那麼爲什麼不使用Atom表示來表示一切?
由於回答這些問題必然會涉及到更多的社區意見,因爲這個項目太新了,我以爲我們會等到1.0版本發佈後才添加XML支持。如果在這個方向上有足夠的動力,那麼優先級顯然可以改變,但我不會在下一週看到它發生。
有一些機器可以覆蓋(畢竟這只是一個Spring MVC應用程序)來產生任何你想要的響應。如果您使用最新的快照並覆蓋the RepositoryRestMvcConfiguration.contentNegotiatingViewResolver()
method,則可以提供完全不同的從出口商出來的DTO表示形式。這被稱爲in the wiki。您必須檢查the source code of JsonView
以獲取有關DTO內部結構的必要細節,但用MyOwnXmlView
替換JsonView
會相對容易。
注意:這隻適用於當前版本的REST導出器。 GA版本將有不同的機制來呈現輸出。不過,我會提供掛鉤來執行任何想要執行的輸出,因此您應該可以通過在配置上設置屬性來覆蓋輸出呈現。如果您爲此版本創建View
子類,它可能只是將它更改爲GA版本的HttpMessageConverter
。
順便說一句,事實證明,JSON接口是可以接受的了。但你給了一個很好的答案。 – 2012-07-21 00:06:46