URI 从路径中删除 /

问题描述 投票:0回答:2

大家早上好。我有以下代码:

String url = "https://example/example/rest/verify/";
<!-- It is absolutely necessary that code starts with / -->
String code = "/gRmaik5E5rUAoJFy7iovg==";

UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(url).path(code);
UriComponents components = builder.build(true);
URI uri = components.toUri();
       
ResponseEntity<String> response  = new RestTemplate(requestFactory1).exchange(uri, HttpMethod.GET, null, String.class);

问题是uri变量被分配给RestTemplate构造函数作为

https://example/example/rest/verify/gRmaik5E5rUAoJFy7iovg==
,也就是说,它从代码变量中删除了初始的
/

我需要网址看起来像这样:

https://example/example/rest/verify//gRmaik5E5rUAoJFy7iovg==
,变量代码中有两个
//

有什么要求吗?

java rest url resttemplate
2个回答
0
投票

您可以使用

org.apache.http.client.utils.URIBuilder
来构建 URI。
这将按照您想要的方式构建 URI:

URIBuilder uriBuilder = new URIBuilder(url);
URI uri = uriBuilder.setPath(uriBuilder.getPath() + code).build();

0
投票

您可以使用“fromUri”方法创建 UriComponentsBuilder 的实例。

UriComponentsBuilder uriBuilder = UriComponentsBuilder.fromUri(new URI(url))

一旦您设置 URI 而不是路径,您将不会遇到 / 的任何问题。

© www.soinside.com 2019 - 2024. All rights reserved.