grails休息渲染并返回

时间:2011-12-15 18:25:06

标签: rest grails return render

有没有办法解决这个问题:

def getChannelListJSON = {
        def results = Channel2.list()
        def t1 = System.currentTimeMillis()

                render(contentType:"text/json") {
                        canais = array {
                                for(b in results) {
                                    canal = {

                                        id= b.id                                        
                                        nome= b.channel_name
                                        sigla= b.channel_sigla
                                    }

                                }
                        }   
                }

        def t2 = System.currentTimeMillis()
        def tt = t2 - t1

                new Statistic(servico: Servicos.findByName('getChannelListJSON'), totalTime: tt, date: new Date()).save()

    }

但不是使用渲染,我需要使用:

return object as XML

因为我需要将此休息方法与http://code.google.com/p/grails-jaxrs/wiki/GettingStarted兼容,而我无法使用渲染。

2 个答案:

答案 0 :(得分:1)

您需要将内容类型更改为“text / xml”

http://grails.org/doc/2.0.x/ref/Controllers/render.html

答案 1 :(得分:0)

尝试:

JSONWithPadding getChannelListJSON(@DefaultValue("callback") @QueryParam("callback") String callback) {
  GenericEntity genericEntity = new GenericEntity<Type>(var contains result, Type.class);
  return new JSONWithPadding(genericEntity, callback);
}