在 Grails 中使用 @Resource 时打印 REST 调用接收到的数据
Print data received by REST call when using @Resource in Grails
根据 REST 上的 groovies 文档,我设置了一个模型,如下所示:
import grails.rest.*
@Resource(uri='/books')
class Book {
String title
static constraints = {
title blank:false
}
}
我会打印出创建和保存时收到的参数。是否可以覆盖由 @Resource(uri='/books')
注释创建的这些方法?或者处理注解闭包之类的?
如果您希望拥有默认的 RESTful 界面并根据您的需要对其进行一些修改,我认为您可能有 2 个选择。
使用 $ grails generate-controller [Domain Class Name]
命令将生成适当的控制器并根据需要更改生成的文件。
创建一个 Book 控制器并扩展 RestfulController
;然后使用 @Override
注释覆盖默认方法,print/log 参数,然后调用匹配的 super
方法。
import grails.rest.RestfulController
class BookController extends RestfulController {
static responseFormats = ['json', 'xml']
BookController() {
super(Book)
}
@Override
def save() {
println params
super.save params
}
@Override
def update() {
println params
super.update params
}
}
根据 REST 上的 groovies 文档,我设置了一个模型,如下所示:
import grails.rest.*
@Resource(uri='/books')
class Book {
String title
static constraints = {
title blank:false
}
}
我会打印出创建和保存时收到的参数。是否可以覆盖由 @Resource(uri='/books')
注释创建的这些方法?或者处理注解闭包之类的?
如果您希望拥有默认的 RESTful 界面并根据您的需要对其进行一些修改,我认为您可能有 2 个选择。
使用
$ grails generate-controller [Domain Class Name]
命令将生成适当的控制器并根据需要更改生成的文件。创建一个 Book 控制器并扩展
RestfulController
;然后使用@Override
注释覆盖默认方法,print/log 参数,然后调用匹配的super
方法。import grails.rest.RestfulController class BookController extends RestfulController { static responseFormats = ['json', 'xml'] BookController() { super(Book) } @Override def save() { println params super.save params } @Override def update() { println params super.update params } }