Spring引导路径参数URL编码问题

问题描述 投票:0回答:1

我有一个spring boot应用程序,在我的一个控制器中,我有一个来自path参数的字符串。我的控制器如下:

Controller.java

@GetMapping(value=“/id/{txt}/user”)
public ResponseEntity<MyUser> getUser(@PathVariable String txt) {

}

在我的请求中,我将txt值作为带有一些url编码字符的字符串。下面是该请求具有的示例:

/id/Siney6jginshbnsu%252Fghshs%253D

但是当我调试应用程序时,路径变量txt来为:

/id/Siney6jginshbnsu%2Fghshs%3D

问题是我正在使用.equals对txt进行字符串比较,由于上述编码/解码问题,我看到了问题。

我有什么办法可以完全从请求中获取url编码的字符串吗?

我知道我可以尝试对添加%25的txt进行编码,但问题是我可能在字符串中包含%的字符串会将其编码为%25。因此,如果有人可以帮助或建议解决此问题,请多加赞赏。

提前感谢。

java spring-boot urlencode path-variables
1个回答
0
投票

您可以使用以下方法解码HTML编码。

String decodedText = HtmlUtils.htmlEscape(txt);
© www.soinside.com 2019 - 2024. All rights reserved.