2009-01-19 25 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 
} 
相关问题