Java 如何让UriBuilder使用解码的哈希字符构建URI?
我尝试生成以下uri //主机:端口/名称//名称/名称 与泽西URI生成器。问题是uri生成器对哈希字符进行解码 有人知道如何构建给定的URI吗 这就是我所拥有的:Java 如何让UriBuilder使用解码的哈希字符构建URI?,java,jakarta-ee,jersey,Java,Jakarta Ee,Jersey,我尝试生成以下uri //主机:端口/名称//名称/名称 与泽西URI生成器。问题是uri生成器对哈希字符进行解码 有人知道如何构建给定的URI吗 这就是我所拥有的: final URI build = uriInfo.getBaseUriBuilder().path("..").path("#").path("/clients/asd/").build(); 不是URI路径中的有效字符;它后面实际上是一个URI片段 因此,您需要做的是: final URI build = uriInfo.g
final URI build = uriInfo.getBaseUriBuilder().path("..").path("#").path("/clients/asd/").build();
不是URI路径中的有效字符;它后面实际上是一个URI片段
因此,您需要做的是:
final URI build = uriInfo.getBaseUriBuilder().path("..")
.fragment("/clients/asd/").build();
注意:事实上,我不用球衣;我查找了javadoc,因为我认为这是相同的不是URI路径中的有效字符;它后面实际上是一个URI片段
因此,您需要做的是:
final URI build = uriInfo.getBaseUriBuilder().path("..")
.fragment("/clients/asd/").build();
注意:事实上,我不用球衣;我查阅了javadoc,因为我认为这对我来说是一样的,这就是有效的:
final URI build = UriBuilder.fromUri("{arg1}").fragment("{arg2}").buildFromEncoded("../","/clients/asd/");
使用.path…fragment/clients/asd/.build将生成
..%2fClient%2Fasd
对我来说,这就是成功的原因:
final URI build = UriBuilder.fromUri("{arg1}").fragment("{arg2}").buildFromEncoded("../","/clients/asd/");
使用.path…fragment/clients/asd/.build将生成
..%2fClient%2Fasd
你可以试试。pathURLEncoder。encode@Alden1.URLEncoder.encode不适用于URI;2.OP实际上想要一个URI片段,而不是逃避哈希符号,您可以尝试.pathURLEncoder。encode@Alden1.URLEncoder.encode不适用于URI;2.OP实际上想要一个URI片段,而不是转义散列符号