RESTful Grails: как включить связанные сущности в мой XML? - PullRequest
3 голосов
/ 19 января 2009

Допустим, у меня есть класс с именем Store, в котором много сотрудников. Мой метод RESTful listXML выглядит так:

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>

Ответы [ 2 ]

5 голосов
/ 19 января 2009

В вашем контроллере вы захотите импортировать глубокий конвертер:

import grails.converters.deep.XML

Вы можете прочитать об этом в первой паре абзацев Справочник по конвертерам .

4 голосов
/ 19 января 2009

Начиная с Grails 1.1, вы сможете настроить Grails по умолчанию на глубокую сериализацию, включив это в ваш grails-app / conf / Config.groovy:

grails.converters.xml.default.deep = true

1.1 также вводит именованные конфигурации для конвертеров. Глубокие преобразователи будут устаревшими, и вместо них следует использовать именованную конфигурацию "deep".

XML.use("deep") {
   render model as XML
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...