当我创建一个新的ClientResource时,我通常会执行以下操作
ClientResource cr = new ClientResource("URI string");
有没有办法在cr
之后及时恢复URI字符串?
答案 0 :(得分:1)
以下是关于此问题的一些其他提示:
ClientResource cr = new ClientResource("http://www.google.fr:8182/test");
String hostDomain = cr.getReference().getHostDomain();
String hostIdentifier = cr.getReference().getHostIdentifier();
int hostPort = cr.getReference().getHostPort();
String path = cr.getReference().getPath();
String scheme = cr.getReference().getScheme();
System.out.println("hostIdentifier = "+hostIdentifier);
System.out.println("hostDomain = "+hostDomain);
System.out.println("scheme = "+scheme);
System.out.println("hostPort = "+hostPort);
System.out.println("path = "+path);
这将为您提供以下内容:
hostIdentifier = http://www.google.fr:8182
hostDomain = www.google.fr
scheme = http
hostPort = 8182
path = /test
您可以注意到,如果该网址未明确指定,则hostDomain
的值为-1
。
希望它有所帮助, 亨利
答案 1 :(得分:0)
找到测试一些get方法的解决方案。
您可以使用继承自抽象类CLientResource#getReference
的{{1}}。
它返回一个Resource
对象,它是
对统一资源标识符(URI)的引用。与此相反 java.net.URI类,此接口表示可变引用。它 严格遵守指定URI的RFC 3986并遵循它 命名约定。 [...]
要强调的基本要点是URI之间的区别 “引用”和URI。与URI相反(URI的目标标识符) REST资源),URI引用可以是相对的(有或没有 查询和片段部分)。然后可以使用此相对URI引用 通过getTargetRef()方法解析基本引用 将返回一个新的已解析的Reference实例,一个绝对URI 没有基准参考且没有点段的参考(路径 细分“。”和“..”)。