2009-01-19 60 views
3

比方說,我有一個叫Store的類有很多員工。我的RESTful listXML方法是這樣的:REST風格的Grails:我如何在XML中包含相關實體?

def listXML = { 
    render Store.list() as XML 
} 

而結果是這樣的:

<stores> 
    <store id="1"> 
    <name>My Store</name> 
    <employees> 
    <employee id="1" /> 
    </employees> 
    </store> 
</store> 

我的問題是,我怎麼包括每個Employee類的所有數據,讓我的XML外觀像這樣?

<stores> 
     <store id="1"> 
     <name>My Store</name> 
     <employees> 
     <employee id="1"> 
      <name>John Smith</name> 
      <hireDate>2008-01-01</hireDate> 
     </employee> 
     </employees> 
     </store> 
    </store> 

回答

5

在你的控制器,你要導入深器:

import grails.converters.deep.XML 

您可以在第一對夫婦的Converters Reference的段落讀一下吧。

+0

哇 - 非常感謝quickdraw答案。我很高興解決方案非常簡單! – 2009-01-19 05:46:50

+0

嘿,沒問題。很高興我能幫上忙。 – 2009-01-19 05:47:29

4

由於Grails的1.1,你將能夠配置Grails的默認通過包括這在你的grails-app/conf目錄/ Config.groovy中深深序列化:

grails.converters.xml.default.deep = true 

1.1還引入了一個名爲配置的轉換器。深轉換器將被棄用,應該使用命名配置「深」。

XML.use("deep") { 
    render model as XML 
} 
相關問題