java Spark框架:匹配尾随斜杠或不匹配尾随斜杠
我注意到Spark框架中有一些东西。它不将尾部斜线与映射的路由匹配。因此,它将/api/test和/api/test/视为不同的URI
如果有一种方法可以将它们通配符在一起,那也没关系,但似乎没有。我遗漏了什么吗
我想要这条路线:
Spark.get("/api/test", (req, res) -> {
return "TEST OK";
});
匹配/api/test或/api/test/。目前,它只匹配/api/test,如果我将其切换到:
Spark.get("/api/test/", (req, res) -> {
return "TEST OK";
});
它只匹配/api/test/
# 1 楼答案
您可以使用重定向设置之前的过滤器,例如:
这可能比映射重复的路由要好
# 2 楼答案
2013年之前似乎有人问过这个问题,但在2015年结束了(我假设没有实施):
https://github.com/perwendel/spark/issues/97
ryber提出了拉取请求,并对此问题进行了修复:
https://github.com/ryber/spark/commit/556597e679dc224719188f8d27d8ba10e58fd8bb
但是,这似乎不是当前
SimpleRouteMatcher
类的一部分:https://github.com/perwendel/spark/blob/ded78b7fa9b78749c0d5f6776bba9c9cd3cfb6fb/src/main/java/spark/route/SimpleRouteMatcher.java