2016-09-29 88 views
0

我试图从多态查询的结果呈现json-views。 与对象marshallers,它完美的作品,但不是与grails3 json-views。 我尝试了各种各样的东西,好像是json-views插件中的一个bug。Grails 3:类继承不与json-views一起工作

这里是澄清问题的例子:

class Content { 
String text 
} 

class BlogEntry extends Content { 
    URL url 
} 

class Book extends Content { 
    String ISBN 
} 

而且在contentController:

class ContentController extends RestfulController<Content> { 

    static responseFormats = ['json', 'xml'] 

    ContentController() { 
     super(Content) 
    } 

    def index(Integer max) { 
     println '*CONTENT:INDEX*' 
     def contents= Content.findAll() 
     respond contents 
    } 
} 

JSON观点:

// /content/index.gson 
model { 
    Iterable<Content> contentList 
} 

json tmpl.content(contentList ?: []) 

// /content/_content.gson 
model { 
    Content content 
} 

json g.render(content) 

我从控制器的指数空的结果方法。我使用grails 3.2.0.RC2与意见-json:1.1.0.RC3

与自定义对象marshallers,我可以通过子类型(BlogEntry,书)这是预期的结果得到json结果。

回答