因此,我使用 Java SDK 中的 http 客户端来防止使用任何相关库。
但事实证明,客户端本身并不处理 URL 编码,例如有一个查询
HttpRequest request = HttpRequest.newBuilder()
.uri(new URI("https://postman-echo.com/get?q=Test Abc 1,2&3 ABCq"))
.GET()
.build();
导致后端的值不正确。
处理编码的最佳方法是什么?我在项目中没有任何依赖项。
如果您使用 spring,您可以使用函数对路径进行编码
import org.springframework.web.util.UriUtils
UriUtils.encodePath(path, "UTF-8")
路径是你的字符串。
如果你不使用spring而只想使用JAVA SDK功能你可以使用这种方法
String url = "https://postman-echo.com" +
URLEncoder.encode("get?q=Test Abc 1,2&3 ABCq","UTF-8");
两种方法都提供如下结果:
"http://postman-echo.com/get%3Fq=Test%20Abc%201,2&3%20ABCq"