我想在我的rest式控制器中公开一个非标准操作。
class FooController extends RestfulController<Foo> {
static responseFormats = ['json']
static allowedMethods = [lala: 'GET']
FooController() {
super(Foo)
}
def lala() {
log.info "IN LALA"
respond new Foo(code: "LALA")
}
}
但是我只得到一些错误,我不太理解
| Error 2014-03-17 10:46:07,657 [http-bio-8080-exec-4] ERROR
errors.GrailsExceptionResolver - NullPointerException occurred when processing
request: [GET] /fooapp/foos/lala
Cannot invoke method get() on null object. Stacktrace follows:
Message: Cannot invoke method get() on null object
Line | Method
->> 219 | queryForResource in grails.rest.RestfulController
我代表@dmahapatro添加这个答案,因为他的回答也帮助我解决了我的问题。
在grails-app文件夹中,找到其中的conf文件夹将是一个名为UrlMappings的文件。groovy
为您的非标准rest式操作添加如下行:
"/example/custom/lala"(controller: 'foo', action: 'lala')