Grails URL Api Mapping调用错误的控制器

时间:2014-10-22 16:52:06

标签: grails urlmappings.groovy

我有两个控制器。 PollController和api.PollApiController。

我的PollController只是一个普通的控制器。 API-Controller继承RestfulController:

class PollApiController extends RestfulController {

    static responseFormats = ['json', 'xml']

    PollApiController() {
        super(Poll)
    }
}

这些是我的网址映射:

class UrlMappings {

    static mappings = {
        "/$controller/$action?/$id?(.$format)?"{
            constraints {
                // apply constraints here
            }
        }

        "/api/poll"(resources:'poll', controller:'pollApiController')
    }
}

我的问题是,每次我执行/ api-Call grails都会运行PollController而不是PollApiController。如果我改变PollController我可以检查它。 这是我第一次使用RestfulController时,我做错了什么?

1 个答案:

答案 0 :(得分:1)

当您映射到RestfulController时,您不需要controller参数。相反,resources应设置为(Restful)Controller的基本名称。

"/api/poll"(resources: 'pollApi')

有关详细信息,请参阅:http://grails.org/doc/latest/guide/single.html#restfulMappings