让我们考虑以下代码示例,其中路径和单个参数被编码...
参数名称:“param”
参数值:“foo / bar?aaa = bbb& ccc = ddd”(碰巧是带有查询参数的网址)
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”,没有值。
答案 0 :(得分:1)
您对“fromPath”的初始调用应该是“fromUri”。那说......
这是对的吗?
不,它看起来不像正确的输出。
字符“&”不应该(也许 甚至“?”)编码 参数值字符串?
是的,它应该是。
生成的网址不是 解释如下:
第一个参数,name =“param”, value =“ar?aaa%3Dbbb”后跟a 第二个参数,name =“ccc%3Dddd”, 没有价值。
第一个参数是“foo / bar?aaa = bbb”,但是,是的,你正确地解释。这看起来像是javax.ws.rs.core提供程序中的错误。