Grails 3:Class 继承不适用于 json-视图
Grails 3 : Class inheritance not working with json-views
我正在尝试根据多态查询的结果呈现 json-views。
使用对象编组器,它可以完美地工作,但不能使用 grails3 json-views。
我尝试了各种方法,这似乎是 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
使用自定义对象编组器,我可以通过子类类型(BlogEntry、Book)获得 json 结果,这是预期的结果。
已在 grails-views v1.1.3 中解决。
我正在尝试根据多态查询的结果呈现 json-views。 使用对象编组器,它可以完美地工作,但不能使用 grails3 json-views。 我尝试了各种方法,这似乎是 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
使用自定义对象编组器,我可以通过子类类型(BlogEntry、Book)获得 json 结果,这是预期的结果。
已在 grails-views v1.1.3 中解决。