Spring 3 RequestMapping:获取路径值

156

在解析过requestMapping@PathVariable值后,是否有一种方法可以获取完整的路径值?

也就是说: /{id}/{restOfTheUrl} 应该能够将 /1/dir1/dir2/file.html 解析为 id=1restOfTheUrl=/dir1/dir2/file.html

欢迎提出任何想法。

11个回答

-3

我有一个类似的问题,我是这样解决的:

@RequestMapping(value = "{siteCode}/**/{fileName}.{fileExtension}")
public HttpEntity<byte[]> getResource(@PathVariable String siteCode,
        @PathVariable String fileName, @PathVariable String fileExtension,
        HttpServletRequest req, HttpServletResponse response ) throws IOException {
    String fullPath = req.getPathInfo();
    // Calling http://localhost:8080/SiteXX/images/argentine/flag.jpg
    // fullPath conentent: /SiteXX/images/argentine/flag.jpg
}

请注意,req.getPathInfo()将返回完整路径(包括{siteCode}{fileName}.{fileExtension}),因此您需要方便地进行处理。

这个答案与已接受的答案不相上下-它也返回完整路径,参见:https://javaee.github.io/javaee-spec/javadocs/javax/servlet/http/HttpServletRequest.html#getPathInfo-- 返回与客户端发送请求时URL相关联的任何额外路径信息。 额外的路径信息跟随servlet路径,但在查询字符串之前,并且将以“ /”字符开头。 - Leon Roy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接