Grails URL Api Mapping вызывает неправильный контроллер

У меня есть два контроллера. PollController и api.PollApiController.

Мой PollController - просто обычный контроллер. API-контроллер наследует 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, вместо PollApiController запускается PollController. Я могу проверить это, если я изменю PollController. Это первый раз, когда я работаю с RestfulController, что я делаю не так?

1 ответ

Когда вы отображаете на RestfulControllerвам не нужно controller параметр. Вместо, resources должно быть установлено базовое имя вашего (Restful) контроллера.

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

Для получения дополнительной информации см.: http://grails.org/doc/latest/guide/single.html

Другие вопросы по тегам