Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将UriComponentsBuilder转换为java.net.URI_Java_Spring_Uri - Fatal编程技术网

如何将UriComponentsBuilder转换为java.net.URI

如何将UriComponentsBuilder转换为java.net.URI,java,spring,uri,Java,Spring,Uri,的文档表明,转换为java.net.URI是可能的,但并不简单 以下内容似乎有效,但涉及通过toUriString()进行的中间序列化 UriComponentsBuilder uriBuilder=UriComponentsBuilder.fromUristering(源代码+基代码); java.net.URI=null; 试一试{ uri=新uri(uriBuilder.toUriString()); } 捕获(例外e){}//TODO:精神错乱 String response=restT

的文档表明,转换为
java.net.URI
是可能的,但并不简单

以下内容似乎有效,但涉及通过
toUriString()
进行的中间序列化

UriComponentsBuilder uriBuilder=UriComponentsBuilder.fromUristering(源代码+基代码);
java.net.URI=null;
试一试{
uri=新uri(uriBuilder.toUriString());
}
捕获(例外e){}//TODO:精神错乱
String response=restTemplate.getForObject(uri,String.class);
java.net.URI
的构造函数声明一个抛出:

java.net.URISyntaxException;必须被抓住或宣布被抛出

有没有一种不需要处理异常的好方法

一个非常有用的答案可能会提供一些见解,解释为什么
build
根据输入类型具有不同的返回类型

新的UriComponentsBuilder类有助于创建UriComponents 实例的所有方面提供细粒度控制 准备URI,包括模板的构造、扩展 变量和编码

{type}
绑定到路径中的queryParam

 URI uri = UriComponentsBuilder.newInstance().scheme("http").host("docuconv.claztec.net")
                .path("/cgi/{type}")
                .queryParam("path", file.getDownloadUrl())
                .queryParam("realname", file.getName())
                .queryParam("servicecode", file.getServiceCode())
                .queryParam("useragent", file.getUserAgent())
                .queryParam("charset", file.getCharset())
                .queryParam("format", file.getOption())
                .build().expand(file.getType())
                .encode()
                .toUri();

uriBuilder.build
这有什么问题。@M.Deinum:可能的返回值不同,这有点混乱。为什么<代码>生成返回一个
URI
。。。这在您自己所指的javadoc中得到了清楚的解释。。。只需输入en empty map
Collections.emptyMap
@M.Deinum:
Collections.emtpyMap()
可能就是我想要的答案<代码>新对象[0]似乎也能正常工作。这两种方法对我来说都有点奇怪——但它们看起来都比我最初的解决方案好。这包含了我一直在寻找的秘密酱汁
.build()
返回类型,该类型具有函数
toUri()
——这是我以前找不到的。