我认为问题出在 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 服务。我的问题发生在有人输入带有井号 (#) 或问号 (?) 的 ID 值时,该值在该字符处被截断。例如,ID 的输出(根据代码中的打印行):
localhost:8080/productdefinition/lookupMap/Denver/Toronto/carton OR container OR box?或袋子
将是
纸箱或容器或盒子
它删除?以及之后的一切。这发生在它到达 UrlMappings 文件之前或将调用定向到控制器时的某个地方。无论哪种方式,我怎样才能停止这个以及在哪里,我在哪个文件中修复这个?我无权访问服务器,因此无法更改任何 URL 编码;这必须是代码更新。任何帮助/方向将不胜感激。