You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用UriComponentsBuilder为现有URI路径前置添加前缀?

解决方案

你可以通过replacePath()方法替换原有路径来实现前缀拼接,具体实现代码如下:

UriComponentsBuilder uriComponentsBuilder = UriComponentsBuilder.fromUriString("/foo?name=john");
// 获取原有路径,拼接前缀后替换
String originPath = uriComponentsBuilder.build().getPath();
uriComponentsBuilder.replacePath("/bar" + originPath);

String uri = uriComponentsBuilder.build().toUriString(); // 最终输出 /bar/foo?name=john

如果要兼容斜杠重复的异常场景(比如前缀末尾带斜杠、原路径开头无斜杠的情况),可以用以下写法自动处理路径拼接规则:

UriComponentsBuilder originBuilder = UriComponentsBuilder.fromUriString("/foo?name=john");
UriComponents newUri = UriComponentsBuilder.fromPath("/bar")
    .path(originBuilder.build().getPath())
    .queryParams(originBuilder.build().getQueryParams())
    .build();

String uri = newUri.toUriString();

内容的提问来源于stack exchange,提问作者johnlinp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 10:18:01