springboot如何实现同一个方法映射到不同的url

1.我想仿照github或者gitlab做一个网站,网站功能是查看服务器上的文件,那么首先就得查看文件夹结构。这两个网站的url是随着当前文件夹的位置变化的,比如当我查看A文件夹下的B.java文件,那么我当前的url后缀就是/A/B.java。但是在响应请求的Controller层,应该是同一个方法处理这些不同url后缀的请求,我不知道如何实现。

2.我尝试使用@RequestParam和@PathVariable,图片描述

图片描述

但是都失败了,这两个方法都不能处理多级目录结构。

图片描述

我从网上查资料发现可以用正则表达式匹配url,但是仍然不能匹配多级路径。
请问这个Controller响应请求的方法应该怎么写才能实现类似gitlab的效果呢?或者说,有人能告诉我这是哪方面的知识,谢谢!

阅读 7.5k
2 个回答

可以全匹配直接把request传进来处理, 像下面这样, ttest走下面方法, 其他走上面方法, 请求的url拿到了就好处理了

    @GetMapping("/**")
    public String path(HttpServletRequest request) {
        return request.getRequestURI();
    }

    @GetMapping("/ttest")
    public String ttest() {
        return "lalala";
    }

图片描述

附上我后来的解决方案

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题