Grails3GSON视图和域类模板 package mochi import grails.rest.* @Resource(readOnly = false, formats = ['json', 'xml']) class Book { String title }
我正在研究Grails3,特别是RESTAPI支持特性 新特性之一(来自2.5.5)是新的gson视图 我正试图遵循,但我的模板似乎被忽略了 我已经在上提供了我的示例项目,但重要的是: 我的Grails3GSON视图和域类模板 package mochi import grails.rest.* @Resource(readOnly = false, formats = ['json', 'xml']) class Book { String title },grails,json-view,grails3.2.0,Grails,Json View,Grails3.2.0,我正在研究Grails3,特别是RESTAPI支持特性 新特性之一(来自2.5.5)是新的gson视图 我正试图遵循,但我的模板似乎被忽略了 我已经在上提供了我的示例项目,但重要的是: 我的UrlMapping: "/books"(resources: "book") 我的书域类: class Book { String title static constraints = { title(blank: false) } } package mochi i
UrlMapping
:
"/books"(resources: "book")
我的书
域类:
class Book {
String title
static constraints = {
title(blank: false)
}
}
package mochi
从myimport grails.rest.* @Resource(readOnly = false, formats = ['json', 'xml']) class Book { String title }
:BookController
我的def show(Book book) { respond new Book(id: 1, title: "Foo bar") }
:show.gson
model { Book book } json g.render(book)
json { title "Book Template" }
最后,我的model { Book book } json g.render(template: "/book/book", model: [book: book])
:book/\u book.gson
model { Book book } json g.render(book)
json { title "Book Template" }
通过此设置,我在浏览器中看到的是:model { Book book } json g.render(template: "/book/book", model: [book: book])
我上网找了一些例子,发现 这让我相信Grails应该忽略或绕过我的{"title":"Foo bar"}
,只渲染我的show.gson
,但事实并非如此。我试图删除我的\u book.gson
,但后来我得到了一个空白页 这让我相信我的show.gson
应该呈现我的show.gson
模板,但这也没有发生 我尝试过清理和重新运行,但得到了相同的结果 我能够使用完全限定的模板名称使其工作: “固定”\u book.gson
:show.gson
model { Book book } json g.render(book)
json { title "Book Template" }
可行,但不理想,也不是文档中的内容 我不确定我在这里做错了什么,我一定错过了什么。[更新] 既然您正在学习,请跟随:)。以正确的方式去做model { Book book } json g.render(template: "/book/book", model: [book: book])
import grails.rest.* @Resource(readOnly = false, formats = ['json', 'xml']) class Book { String title }
import grails.rest.* @Resource(readOnly = false, formats = ['json', 'xml']) class Book { String title }
一,。使用命令:import grails.rest.* @Resource(readOnly = false, formats = ['json', 'xml']) class Book { String title }
import grails.rest.* @Resource(readOnly = false, formats = ['json', 'xml']) class Book { String title }
import grails.rest.* @Resource(readOnly = false, formats = ['json', 'xml']) class Book { String title }
一,。使用命令:import grails.rest.* @Resource(readOnly = false, formats = ['json', 'xml']) class Book { String title }