【发布时间】:2017-04-04 14:28:09
【问题描述】:
我正在使用 Grails 3,特别是 REST Api 支持功能。
新功能之一(来自 2.5.5)是新的 gson 视图。
我正在尝试关注documentation,但我的模板似乎被忽略了。
我已经在github 上发布了我的示例项目,但重要的部分在这里:
我的UrlMapping:
"/books"(resources: "book")
我的Book域类:
class Book {
String title
static constraints = {
title(blank: false)
}
}
来自我的BookController:
def show(Book book) {
respond new Book(id: 1, title: "Foo bar")
}
我的show.gson:
model {
Book book
}
json g.render(book)
最后,我的book/_book.gson:
json {
title "Book Template"
}
我在浏览器中看到的设置是:
{"title":"Foo bar"}
我去网上找了一些例子,发现this one
这让我相信 Grails 应该忽略或绕过我的 show.gson 并只渲染我的 _book.gson,但这并没有发生。我尝试删除我的show.gson,但我得到了一个空白页。
Grails documentation 让我相信我的show.gson 应该呈现我的_book.gson 模板,但这也没有发生。
我尝试过清理并重新运行,但得到了相同的结果。
我能够使用完全限定的模板名称使其工作:
“固定”show.gson:
model {
Book book
}
json g.render(template: "/book/book", model: [book: book])
可行,但并不理想,而且不是文档中的内容。
我不确定我在这里做错了什么,我一定是错过了什么。
【问题讨论】:
标签: grails json-view grails3.2.0