我正在玩 Grails 3,特别是 REST Api 支持功能。
新功能之一(来自 2.5.5)是新的 gson 视图。
我正在尝试遵循文档,但我的模板似乎被忽略了。
我已经在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"}
我去网上找了一些例子,找到了这个
这让我相信 Grails 应该忽略或绕过 myshow.gson
并只渲染 my _book.gson
,但这并没有发生。我尝试删除我的show.gson
,但后来我得到了一个空白页。
Grails 文档让我相信我show.gson
应该渲染我的模板_book.gson
,但这也没有发生。
我试过清理并重新运行,但我得到了相同的结果。
我能够使用完全限定的模板名称使其工作:
“固定” show.gson
:
model {
Book book
}
json g.render(template: "/book/book", model: [book: book])
可行,但不理想,也不是文档中的内容。
我不确定我在这里做错了什么,我一定错过了一些东西。