如何将UriComponentsBuilder转换为java.net.URI?
UriComponentsBuilder 转换为 java.net.URI 的实用方案
用过UriComponentsBuilder的开发者应该都清楚,官方文档说明它可以转换成java.net.URI,但这个转换过程其实并不简单。我摸索出了一个可行的方法,不过需要借助toUriString()做一次中间序列化操作,具体代码示例如下:
UriComponentsBuilder uriBuilder = UriComponentsBuilder.fromUriString(origin+base); java.net.URI uri = null; try { uri = new URI(uriBuilder.toUriString()); } catch (Exception e) {} // TODO: 这里记得替换成合理的异常处理逻辑 String response = restTemplate.getForObject(uri,String.class);
这里要提醒一句,java.net.URI的构造器对输入格式要求比较苛刻,如果尝试直接用UriComponentsBuilder的其他方法直接转换,很容易触发各种格式异常,所以先序列化成URI字符串再构建java.net.URI的方式,反而更稳定可靠——虽然步骤多了一步,但能避免不少潜在问题。
内容的提问来源于stack exchange,提问作者Brent Bradburn
相关产品推荐
相关产品推荐

