【发布时间】:2020-07-15 23:21:04
【问题描述】:
我正在尝试将this Google App Engine maven server repository 重写为 Spring。
我的网址映射有问题。 Maven repo 服务器标准如下所示:
-
URL 以斜线结尾,指向一个文件夹,例如:
http://127.0.0.1/testDir/ http://127.0.0.1/testDir/testDir2/ -
所有其他(末尾不带斜线)指向文件,例如:
http://127.0.0.1/testFile.jar http://127.0.0.1/testFile.jar.sha1 http://127.0.0.1/testDir/testFile2.pom http://127.0.0.1/testDir/testFile2.pom.md5
directories 和 files 的原始应用映射。
使用了 @javax.ws.rs.Path 的注解,它支持的正则表达式与 Spring 不同。
我尝试了一堆组合,例如这样的:
@ResponseBody
@GetMapping("/{file: .*}")
public String test1(@PathVariable String file) {
return "test1 " + file;
}
@ResponseBody
@GetMapping("{dir: .*[/]{1}$}")
public String test2(@PathVariable String dir) {
return "test2 " + dir;
}
但我不知道如何在 Spring 应用程序中以正确的方式执行此操作。
我想避免编写自定义 servlet 调度程序。
【问题讨论】:
-
您没有在这两种模式中转义
/char。可能是你的问题。
标签: java regex spring mapping javax.ws.rs