url - ReSTLet - 访问请求 URL 的元素

标签 url request restlet

我不确定访问所请求 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/

相关文章:

java - GAE 的 ReSTLet Swagger 扩展使用指南

java - ReSTLet 教程示例

javascript - 您如何读取 URL 中带有 "&"符号的哈希值?

java - 序列化方法

ruby-on-rails - 如何在 Rails 测试中轻松解析带参数的 URL?

error-handling - 使用hapi将request.url附加到记录的任何错误中

ssl - 请使用 ssl 证书发送 https 请求

javascript - 使用 fetch 和 chrome 的多个请求一次只能处理 6 个文件,其他请求将被停止

javascript - 如何使用 javascript/jquery 从 URL 中删除获取变量和文件名?

python - 是否可以获得所有可能的网址?