0

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

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

class PollApiController extends RestfulController {

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

    PollApiController() {
        super(Poll)
    }
}

这些是我的 URL 映射:

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,我做错了什么?

4

1 回答 1

1

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

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

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

于 2014-10-22T21:59:40.053 回答