在 SpringBoot 中使用 URL 中的斜杠@PathVariable
2022-09-02 02:41:34
我必须在SpringBoot应用程序中使用@PathValiable从URL中获取参数。这些参数通常具有斜杠。我无法控制用户在URL中输入的内容,因此我想获得他输入的内容,然后我可以处理它。
我已经在这里查看了材料和答案,我不认为对我来说,好的解决方案是要求用户以某种方式编码输入参数。
SpringBoot代码很简单:
@RequestMapping("/modules/{moduleName}")
@ResponseBody
public String moduleStrings (@PathVariable("moduleName") String moduleName) throws Exception {
...
}
因此,例如,URL将如下所示:
http://localhost:3000/modules/...
问题是参数模块名称通常有斜杠。例如
metadata-api\cb-metadata-services OR
app-customization-service-impl\\modules\\expand-link-schemes\\common\\app-customization-service-api
因此,用户绝对可以输入:
http://localhost:3000/modules/metadata-api\cb-metadata-services
这是否可以获取用户在 /modules/ 之后在 URL 中输入的所有内容?
如果有人告诉我处理此类问题的好方法是什么。