gpt4 book ai didi

spring-mvc - 仅获取@Requestmapping 的通配符部分

转载 作者:行者123 更新时间:2023-12-03 11:53:41 25 4
gpt4 key购买 nike

我在 Controller 操作上使用通配符映射,并希望获得由通配符匹配的字符串。我怎样才能以正确的方式做到这一点?不使用子字符串等。

@Controller
@RequestMapping(value = "/properties")
public class PropertiesController {

@RequestMapping(value = "/**", method=RequestMethod.GET)
public void getFoo() {

String key = (String) request. getAttribute(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE);
// returns "/properties/foo/bar" ...
// I want only "foo/bar" part


// ...
}

}|

最佳答案

似乎这里已经解决了这个问题:Spring 3 RequestMapping: Get path value虽然接受的答案是 不是 回答问题。一种建议的解决方案,this one ,似乎有效,因为我刚刚尝试过:

@Controller
@RequestMapping(value = "/properties")
public class PropertiesController {

@RequestMapping(value = "/**", method=RequestMethod.GET)
public void getFoo(final HttpServletRequest request) {

String path = (String) request.getAttribute(
HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE);
String bestMatchPattern = (String ) request.getAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE);

AntPathMatcher apm = new AntPathMatcher();
String finalPath = apm.extractPathWithinPattern(bestMatchPattern, path);
// on "/properties/foo/bar", finalPath contains "foo/bar"
}

}

即使在达到已接受答案的分数之前还有很长的路要走,我也会建议对未接受的答案进行投票。得知在另一个线程上接受答案和现在之间规范发生了变化,我不会感到惊讶(因为错误的答案不可能达到如此高的分数)。

关于spring-mvc - 仅获取@Requestmapping 的通配符部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25382620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com