如何解析spring控制器中的动态嵌套路径



大家好,我正在编写一个spring控制器来打印目录的内容,所以我的控制器签名是

@RequestMapping(value = "/listdir/{dirname}")
public ResponseEntity<List<DirectoryItem>> listDirectory(@PathVariable String dirname){
List<DirectoryItem> directories = util.getDirectoryItems(rootFolder + dirname);

我用get来调用它:

/listdir/dirname

,它返回目录内容的json。如file1、file2,dir1,dir2,等等。

接下来我想要的是,在视图中,如果用户单击目录名,则调用相同的方法。这次我想呼叫应该是

listdir/dirname/dir1

,然后是

listdir/dirname/dir1/childdir

有谁知道完成这个的正确方法是什么吗?

感谢

可以在映射中使用通配符

@GetMapping("listdir/**")
public String listDirectory(HttpServletRequest request) {
String dirname = request.getRequestURI().split(request.getContextPath() + "/listdir/")[1];
// ...
}

但是对于这样的请求,你根本不应该使用路径参数。不需要这样,只需通过request参数

发送参数
@GetMapping("all")
public String listDirectory(@RequestParam("dirname") String dirname) {
// ...
}

相关内容

  • 没有找到相关文章

最新更新