如何将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 mapCollections.emptyMap
@M.Deinum:Collections.emtpyMap()
可能就是我想要的答案<代码>新对象[0]似乎也能正常工作。这两种方法对我来说都有点奇怪——但它们看起来都比我最初的解决方案好。这包含了我一直在寻找的秘密酱汁.build()
返回类型,该类型具有函数toUri()
——这是我以前找不到的。