我有一个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。因此,如果有人可以帮助或建议解决此问题,请多加赞赏。
提前感谢。
您可以使用以下方法解码HTML编码。
String decodedText = HtmlUtils.htmlEscape(txt);