spring boot @PathVariable 传递带有反斜杠的参数“/”


参考 http://cn.voidcc.com/question/p-hdnhwour-ve.html

@RequestMapping(value = "/modules/{moduleBaseName}/**", method = RequestMethod.GET) 
@ResponseBody 
public String moduleStrings(@PathVariable String moduleBaseName, HttpServletRequest request) { 
    final String path = 
      request.getAttribute(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE).toString(); 
    final String bestMatchingPattern = 
      request.getAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE).toString(); 

    String arguments = new AntPathMatcher().extractPathWithinPattern(bestMatchingPattern, path); 

    String moduleName; 
    if (null != arguments && !arguments.isEmpty()) { 
     moduleName = moduleBaseName + '/' + arguments; 
    } else { 
     moduleName = moduleBaseName; 
    } 

    return "module name is: " + moduleName; 
} 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM