Рассмотрим следующий пример кода, в котором закодированы путь и отдельный параметр ...
Имя параметра: "param"
Значение параметра: "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", без значения.