Поменялись местами параметры для сопоставления URL-адресов Grails.

Я использую Grails 3 для моделирования иерархических структур в базе данных для контроллеров. У меня есть следующее сопоставление URL:

group("/api") {
            "/events"(resources: 'event') {
                get "/attendees"(controller: 'eventAttendee', action: 'index')
                delete "/attendees/$id"(controller:'eventAttendee', action: 'delete')
                post "/attendees"(controller:'eventAttendee', action: 'save')
            }
            "/attendees"(resources: 'attendee')
        }

Если я GET /api/events/1/attendees, я вижу, что params содержит поле eventId, которое правильно отображает 1. Однако, если я DELETE /api/events/1/attendess/2я получаю параметры, где eventId => 2 и Id => 1 (параметры меняются местами). Это вызывает у меня некоторые проблемы, кто-нибудь знает, как это исправить?

Редактировать: Что касается контроллеров: это соответствующая часть источника, я не думаю, что там есть что-то подозрительное:

class EventController extends RestfulController {

    EventController() {
        super(Event)
    }
}

class EventAttendeeController {
  def delete() {
    print "${params.eventId}"
    print "${params.Id}"
  }
  //...
}

person hfhc2    schedule 09.10.2016    source источник
comment
опубликуйте содержимое из UrlMappings.groovy   -  person elixir    schedule 11.10.2016
comment
Блок кода на дисплее показывает соответствующую часть UrlMappings.groovy   -  person hfhc2    schedule 11.10.2016
comment
Ой! Мне жаль. Я хотел сказать контроллер, но в итоге набрал UrlMappings.   -  person elixir    schedule 11.10.2016


Ответы (1)


Хотя это старый вопрос, попытка это может кому-то помочь,

group("/api") {
            "/events"(resources: 'event') {
               "/attendees"(resources: 'attendee')
            }
        }
person Satish    schedule 30.04.2018