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.

0 ответов

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