2016-09-29 51 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結果。

回答