Я использую 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}"
}
//...
}
UrlMappings.groovy
- person hfhc2   schedule 11.10.2016