Запретить обрезание значения URL при передаче контроллеру
Я думаю, что проблема связана с файлом UrlMapping или каким-то файлом конфигурации, о котором я не знаю, но я не видел его адресованным на этом сайте, поэтому я пишу о помощи.
У меня есть UrlMappings.groovy с:
"/lookupMap/$fromVal/$toVal/xml/$id**" (controller:"lookup, action:"returnMapXml", formats=['xml'], method:"GET")
и контроллер это:
def returnMapXml = {
if (params.id) {
print params.id + "\n";
try {
def result = getLookup.result(params.fromVal, params.toVal, params.id)
render ...yadda yadda
}
}
}
Это REST сервис. Моя проблема возникает, когда кто-то вводит значение идентификатора либо со знаком фунта (#), либо со знаком вопроса (?), Значение усекается для этого символа. Например, вывод идентификатора (для строки печати в коде) для этого:
localhost: 8080 / определение продукта /lookupMap/ Денвер / Торонто / коробка ИЛИ контейнер ИЛИ коробка? ИЛИ сумка
было бы
коробка или контейнер или коробка
Это удаляет? и все после этого. Это происходит где-то либо до того, как он попадает в файл UrlMappings, либо когда он направляет вызов в контроллер. В любом случае, как я могу остановить это и где, в каком файле я могу это исправить? У меня нет доступа к серверу, поэтому я не могу изменить какие-либо кодировки URL; это должно быть обновление кода. Любая помощь / направление будет оценено.