【发布时间】:2013-11-20 17:13:31
【问题描述】:
我正在重构一个项目以使用 Play Framework 而不是 Scalatra,并且遇到了包含分号的查询参数的问题,例如 /url?filter=filter1:val1;filter2:val2 在 Scalatra 中映射到 filter = "filter1:val1;filter2:val2",但在 Play Framework 中映射到 filter = "filter1:val1"。我找到的唯一解决方案Escape semicolon route playframework 2.0.2 建议使用正则表达式来捕获整个参数,但这似乎只适用于路径参数而不适用于查询参数 - 我的要求之一是我不能更改前端调用api的方式,即不能将查询参数改成路径参数。
如何告诉 Play 不要解析查询参数中的分号,即返回“filter1;filter2”而不是“filter1”?
我可以使用“request.rawQueryString”上的正则表达式手动解析查询参数,但如果可能的话,我宁愿避免这样做。
【问题讨论】:
-
您找到解决方案了吗?我们遇到了完全相同的问题。
-
@cdeszaq 在下面查看我的答案
标签: scala playframework url-routing