【发布时间】:2015-03-13 06:10:54
【问题描述】:
我在 Groovy on Grails 中有一个 REST 服务;获取数据并对其进行转换的基本服务。它工作正常,除非传入的数据有正斜杠或反斜杠。在这些情况下,浏览器会尝试根据数据导航到目录:
localhost/traverse/map/321 64 第四 localhost/traverse/map/321/64/fourth
我的网址映射:
"map/$id" (controller: "map", action: "transform", formats=['text/plain'], method: "GET")
我的控制器。除了类声明和类导入之外,没有其他事情发生:
def transform = {
//println params.id
if (param.id) {
DataMap dm = new DataMap();
render dm.hostNodeLookup(params.id)
}
}
将传递给 REST 服务的大部分数据都有斜杠,每个“传入的数据”的斜杠数量会从 1 到 N 不等,但我无法弄清楚如何转义/解析/其他明智的解决这个问题。我已经阅读了on this site,但我发现它对这个问题没有太大帮助。
我无权访问 Web 服务器来调整编码或浏览器如何呈现 URL 映射和字符串。数据没有到达控制器,所以我无法解析那里的字符串。有人有想法吗?
【问题讨论】:
标签: rest url groovy mapping grails-2.0