Restlet - 访问请求URL的元素

时间:2010-06-10 01:47:28

标签: url request restlet

我不确定访问部分请求网址的正确方法。

在这种情况下,我想获得没有查询变量的请求路径。这是我发现的唯一方法:

String path = getRequest().getResourceRef().getHostIdentifier() + 
     getRequest().getResourceRef().getPath();

结果将是此网址的大胆部分: https://stackoverflow.com/questions/ask ?query = value

我还发现了大约6种获取服务器名称的方法( http://stackoverflow.com ),但我担心其中一些会在某些我不知道的情况下失败(为什么会有6种不同的方法来做一件事):

getRequest().getHostRef().getHostIdentifier();
getRequest().getHostRef().getIdentifier();
getRequest().getRootRef().getHostIdentifier();
getRequest().getRootRef().getIdentifier();
getRequest().getResourceRef().getHostIdentifier();

这似乎可以获得包含查询参数的完整网址:

getRequest().getResourceRef().getIdentifier();

非常感谢任何进一步的解释。

1 个答案:

答案 0 :(得分:4)

如果您在UniformResource(或子类)中,我认为您可能正在寻找方法getReference(),它返回URI引用。您可能感兴趣的课程中还有许多其他便捷方法,因此您无需完成请求。请参阅UniformResource(Restlet 2.0)。