如何使用 java spring 制作 encodeURI/decodeURI?

how to make encodeURI/decodeURI using java spring?

我有一个简单的 api 用 java spring 制作的,它接收文本并将其保存在数据库中。 javascript 中的应用程序格式化文本并将它们发送到 api。

我有多种语言的文本(中文、日文...),我遇到了特殊字符的问题,所以我在 java 脚本中使用 encodeURI 将文本发送到 api.

当 api 收到文本时,我需要进行编码,将原始文本保存在数据库中。 但是当我必须return 文本到前端应用程序时,我需要先重新编码它。

前端的编码文本,在发送到 api

之前
console.log(text);
//红灯亮起时, 麦克风处于静音状态

text = decodeURIComponent(text);
console.log(text);
//%E7%B4%85%E7%87%88%E4%BA%AE%E8%B5%B7%E6%99%82%2C%20%E9%BA%A5%E5%85%8B%E9%A2%A8%E8%99%95%E6%96%BC%E9%9D%9C%E9%9F%B3%E7%8B%80%E6%85%8B

所以我想知道如何使用 java spring.

进行 encodeURI / decodeURI 文本

您正在寻找java.net.URLDecoder and java.net.URLEncoder

String decoded = URLDecoder.decode(s, StandardCharsets.UTF_8);
String encoded = URLEncoder.encode(result, StandardCharsets.UTF_8);

上述方法适用于 java 10 及更高版本。对于以前的版本,您必须将代码包装在 try-catch 块中。