Grails 2.5.0 UrlMappings с двумя последовательными слешами
Я унаследовал Grails 2.2.4 UrlMappings
(частично воспроизведено ниже), которое я пытаюсь обновить до 2.5.0.
Именованные отображения api0
& api2
работать, но два последовательных слеша в api1
(между $controller
& $id
), похоже, не соответствуют должным образом в 2.5.0 (хотя они были сопоставлены в 2.2.4). например:
PUT /api/ticket//123.json
возвращает 403, несмотря на то, что мой контроллер разрешил PUT для своего действия обновления.
name api0: "/api/$controller/$id?(.$format)?" {
action = [GET: 'show', PUT: 'update', POST: 'save', DELETE: 'delete']
constraints {
id(matches: /\d+/)
}
}
name api1: "/api/$controller//$id?(.$format)?" {
action = [GET: 'show', PUT: 'update', POST: 'save', DELETE: 'delete']
constraints {
id(matches: /\d+/)
}
}
name api2: "/api/$controller/$action/$id?(.$format)?" {
constraints {
id(matches: /\d+/)
}
}
Я не могу изменить входящие URL-адреса и / или методы HTTP (и я их не создавал), поэтому, пожалуйста, не говорите мне о том, чтобы сменить клиентов, чтобы заменить двойные слеши в URL-адресах одиночными слешами или что URL-адреса и / или методы HTTP не следуют парадигмам REST.