如何使用 URIBuilder 构造带参数的 URI?

How to construct a URI with parameters using URIBuilder?

如何使用 URIBuilder 构造一个 URIwww.google.com/p1/p2?what&k1=v1&k2=v2 ? 当我使用 Java 的 URIBuilder.setParameter() 时,我必须传入一个名称和一个值。 如何在不使用 URIBuilder.setCustomQuery() 的情况下构建上述 uri?

嗯,打电话setParameter(name, null)解决这个问题。

看看这个java doc 例如

UriBuilder.fromPath("{arg1}").fragment("{arg2}").build("foo", "bar")

此代码生成 foo#bar

或者写你自己的 writer 它只是一个字符串连接

UriBuilder builder = new UriBuilder()
    .setScheme("https")
    .setHost("www.google.com")
    .setPath("/p1/p2")
    .addParameter("what",null)
    .addParameter("k1", "v1")
    .addParameter("k2", "v2")
builder.toString();