// 伪代码
@GetMapping("user/find/by/{name}")
public void findByName(@PathVariable String name){
//....
}
前端传参name="xiao/ming"
这样url就变成user/find/by/xiao/ming 了, 接口匹配不到, 报404, 在必须要用restFul传参的情况下, 这种问题要怎么解决
// 伪代码
@GetMapping("user/find/by/{name}")
public void findByName(@PathVariable String name){
//....
}
前端传参name="xiao/ming"
这样url就变成user/find/by/xiao/ming 了, 接口匹配不到, 报404, 在必须要用restFul传参的情况下, 这种问题要怎么解决
@GetMapping("user/find/by/{name}/**")
public String getMapping(@PathVariable String name, HttpServletRequest request){
String path = request.getAttribute(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE).toString();
String path2 = request.getAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE).toString();
String args = new AntPathMatcher().extractPathWithinPattern(path2, path);
return name + "/" + args;
}