让我们考虑以下代码示例,其中对路径和单个参数进行了编码...
参数名称:“参数”
参数值:“foo/bar?aaa=bbb&ccc=ddd”(恰好是带查询参数的url)
String test = UriBuilder.fromPath("https://dummy.com").
queryParam("param", "foo/bar?aaa=bbb&ccc=ddd").
build().toURL().toString();
返回的编码 URL 字符串为:
"https://dummy.com?param=foo/bar?aaa%3Dbbb&ccc%3Dddd"
这个对吗 ?
字符“&”(甚至可能是“?”)不应该在参数值字符串中编码吗?
生成的 URL 会不会被解释如下:
第一个参数 name="param", value = "ar?aaa%3Dbbb" 后跟第二个参数 name="ccc%3Dddd",没有值。