Lets considérer l'exemple de code suivant où un chemin et un seul paramètre sont codés ...UriBuilder encodant de manière incorrecte la valeur des paramètres de requête?
Nom du paramètre: "PARAM"
Valeur du paramètre: "foo/bar aaa = bbb & ccc = ddd" (se trouve être une URL avec des paramètres de la requête)
String test = UriBuilder.fromPath("https://dummy.com").
queryParam("param", "foo/bar?aaa=bbb&ccc=ddd").
build().toURL().toString();
La chaîne URL encodée retournée est:
"https://dummy.com?param=foo/bar?aaa%3Dbbb&ccc%3Dddd"
est-t son correct?
Le caractère "&" ne doit-il pas être codé (et peut-être même "?") Dans la chaîne de valeur du paramètre?
Ne serait-pas l'URL produit être interprété comme suit:
Un premier paramètre, name = "PARAM", value = "? Ar aaa% 3Dbbb" suivi d'un second paramètre, name = "ccc% 3Dddd" , sans valeur.
UriBuilder n'appartient pas à l'API Java standard AFAIK, qui est son package? – leonbloy
Il est dans JAX-RS (API Java pour les services Web RESTful) – Fred