当使用Url中的数据发回斜杠以获取@PathParam时,它将作为正斜杠

时间:2018-05-14 17:07:42

标签: java spring-boot

当使用Url中的@PathParam数据发回斜杠时,它将作为正斜杠。

例如:

http://localhost:8080/project/'helloe\\'

将上述值设为'helloe//'

实际上,正在发生的事情是,我正在尝试触发具有反斜杠\值的URL,当我触发URL时,它会到达我的休息终点并且应该捕获URL中的值在我的@PathParam变量中。

但是当我触发URL时,来自具有反斜杠\的URL的值将转换为/斜杠并存储在@PathParam变量中。因此,当触发URL时,不知道为什么它会从\反斜杠转换为/正斜杠。

2 个答案:

答案 0 :(得分:0)

使用\\代替\

System.out.println("\\"); -> \

答案 1 :(得分:0)

你应该URLncode url中的PathParam:

String encode = URLEncoder.encode("helloe\\", "UTF-8");
System.out.println(encode);

输出:

helloe%5C

所以这会给出以下网址:

http://localhost:8080/project/helloe%5C