UriComponentsBuilder 查询参数和片段

LG_*_*LG_ 5 spring relative-path url-encoding query-string

我想使用 spring 库UriComponentsBuilder生成以下路径: '/app#/fragment1?test=toto'

到目前为止我已经尝试过:

UriComponentsBuilder ucb = UriComponentsBuilder.fromPath("/app").fragment("fragment1").queryParam("test","toto");

ucb.toUriString(); // -> gives me as result : '/app?test=toto#/fragment1'
Run Code Online (Sandbox Code Playgroud)

知道如何以优雅的方式实现这一点吗?

Ale*_*cob 6

我会简单地做类似的事情:

// first build fragment part
String fragmentWithQueryParams = UriComponentsBuilder.fromPath("/fragment1").queryParam("test","toto").toUriString();

// then generate full path
String fullPath = UriComponentsBuilder.fromPath("/app").fragment(fragmentWithQueryParams).toUriString());

System.out.println(fullPath); // -> "/app#/fragment1?test=toto"
Run Code Online (Sandbox Code Playgroud)