如何在创建 url 时通过 uribuilder 在查询参数之前制作哈希内容



我使用来自apache.http.client的uribuilder对象来创建url

示例:www.xxx.com/#/path/?query=123

我的代码如下

URIBuilder uriBuilder = new URIBuilder();
uriBuilder.setScheme("http");
uriBuilder.setHost(host);
uriBuilder.setFragment(path);
uriBuilder.addParameter(query,123);

但结果是 www.xxx.com/?query=123#path,我怎样才能像 uribuilder 或其他 Java 工具库所期望的那样获得正确的 URL。

有效的 URI 需要符合以下结构:

scheme:[//[user:password@]host[:p ort]][/]path[?query][#fragment]

您尝试创建的 URI 看起来像单页应用程序中使用的 URI。在这种情况下,查询部分是片段的一部分。

您可以像这样创建它:

URIBuilder uriBuilder = new URIBuilder();
uriBuilder.setScheme("http");
uriBuilder.setHost("www.xxx.com");
uriBuilder.setPath("/");
uriBuilder.setFragment("/path/?query=123");
URI uri = uriBuilder.build();

相关内容

  • 没有找到相关文章

最新更新