【问题标题】:Using HTTP OPTIONS to retrieve information about REST resources使用 HTTP OPTIONS 检索有关 REST 资源的信息
【发布时间】:2010-10-21 07:56:33
【问题描述】:

这个问题与 Restlet 框架和 Java 有关

当客户端想要发现服务器上可用的资源时 - 他们必须发送一个带有 OPTIONS 作为请求类型的 HTTP 请求。我猜这对于非人类可读的客户端来说很好 - 即在代码中而不是在浏览器中。

我在这里看到的问题是 - 使用 GET 的浏览器(人类可读)将无法快速发现它们可用的资源并找到一些额外的帮助文档等 - 因为它们不使用 OPTIONS 作为请求类型。

有没有办法让浏览器发送一个 OPTIONS/GET 请求,以便服务器可以将格式化的 XML 回火给客户端(因为这就是在 Restlet 中发生的 - 即服务器响应是将所有信息作为 XML 发送回) ,并在浏览器中显示? 还是我的想法全错了 - 即 OPTIONS 的重点是在客户端代码中使用,而不是通过浏览器读取。

【问题讨论】:

    标签: java http rest restlet


    【解决方案1】:

    使用TunnelService(默认情况下已启用)并将method=OPTIONS 查询参数添加到您的网址。

    (Restlet FAQ Q19 是一个类似的问题。)

    【讨论】:

    • 你知道你是如何实现它的吗——仅仅从 API 文档中可以看出并不多。干杯。
    • 它在Application(Context)构造函数中默认启用、创建和设置。
    • 好的 - 我有一些干扰 TunnelService 的代码 - 所以从浏览器中删除了它 - 按照你所说的输入 method=OPTIONS 并且它有效。
    【解决方案2】:

    我认为 OPTIONS 并非设计为“用户可见”。

    如何从浏览器发送一个 OPTIONS 请求? (注意表单元素只有allowsGET 和POST)。

    您可以使用XmlHttpRequest 发送它,然后在您的Javascript 回调中取回XML 并适当地呈现它。但我不相信这是你的用户真正应该知道的事情!

    【讨论】:

      猜你喜欢
      • 2021-01-12
      • 2021-03-06
      • 2010-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多