我不确定访问所请求 URL 的部分内容的正确方法是什么。
在这种情况下,我想在没有查询变量的情况下获取请求的路径。这是我发现的唯一方法:
String path = getRequest().getResourceRef().getHostIdentifier() +
getRequest().getResourceRef().getPath();
结果将是此网址的粗体部分: https://stackoverflow.com/questions/ask ?查询=值
我还发现了大约 6 种不同的方法来获取服务器名称( http://stackoverflow.com ),但我担心其中一些在我不知道的某些情况下会失败(为什么会有做一件事有 6 种不同的方式):
getRequest().getHostRef().getHostIdentifier();
getRequest().getHostRef().getIdentifier();
getRequest().getRootRef().getHostIdentifier();
getRequest().getRootRef().getIdentifier();
getRequest().getResourceRef().getHostIdentifier();
这似乎获得了带有查询参数的完整 URL:
getRequest().getResourceRef().getIdentifier();
任何进一步的解释将不胜感激。
最佳答案
如果您位于 UniformResource(或子类)中,我认为您可能正在寻找 getReference() 方法,该方法返回 URI 引用。您可能对该类中的许多其他便捷方法感兴趣,因此您不必仔细检查该请求。请参阅UniformResource (ReSTLet 2.0)。
关于url - ReSTLet - 访问请求 URL 的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3011129/