如何公开一个非标准的Restful操作



我想在我的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')

最新更新