mty*_*son 11 java routes spark-java spark-framework
我在Spark框架中注意到了一些东西.它与使用映射路由的尾部斜杠不匹配.所以它认为/ api/test和/ api/test /是不同的URI.
如果有一种方法可以将它们一起通配,那就好了,但似乎没有.我错过了什么吗?
我想要这条路线:
Spark.get("/api/test", (req, res) -> {
return "TEST OK";
});
Run Code Online (Sandbox Code Playgroud)
匹配/ api/test OR/api/test /.就目前而言,它只匹配/ api/test,如果我将其切换为:
Spark.get("/api/test/", (req, res) -> {
return "TEST OK";
});
Run Code Online (Sandbox Code Playgroud)
它只匹配 /api/test/
Raf*_*ins 12
您可以使用重定向设置前过滤器,例如:
Spark.before((req, res) -> {
String path = req.pathInfo();
if (path.endsWith("/"))
res.redirect(path.substring(0, path.length() - 1));
});
Run Code Online (Sandbox Code Playgroud)
这可能比映射重复的路由更好.
它似乎在2013年之前被问到,但在2015年关闭(我假设没有实施):
https://github.com/perwendel/spark/issues/97
路由应该匹配和不跟踪斜杠#97
jsnoriegam于2013年8月31日发布了此问题
ryber在2013年10月14日添加了对ryber/spark的提交,引用了这个问题
tipsy于2015年11月22日添加了功能请求标签
perwendel于2015年11月23日关闭了这个
ryber提出了一个针对此问题的修复请求:
https://github.com/ryber/spark/commit/556597e679dc224719188f8d27d8ba10e58fd8bb
但是,这似乎不是当前SimpleRouteMatcher类的一部分:
| 归档时间: |
|
| 查看次数: |
1547 次 |
| 最近记录: |