2

使用 REST 原则和 HTTP 标头,我想告诉我的客户我的响应是只读的。我的内容类型是文本/纯文本。我的一些响应是只读的,而另一些则不是,我的客户在执行 PUT 并且出错之前无法区分,这会导致糟糕的用户体验。

我是否需要将我的 Content-Type 设置为 text/vnd.read-only 或 application/octet-string?

4

3 回答 3

3

通常,客户端会向资源发出 HTTP OPTIONS 请求。如果 PUT 列在“允许”标题中,则可以修改资源。

如果存在 application/JSON 的 Content-Type 响应,则可以将一个字段添加到 JSON 元数据,将有效负载标记为只读。

于 2015-03-27T17:33:02.823 回答
0

我认为没有专门的 HTTP 标头。

也就是说,我看到在您的回复中提供此提示的两种可能性:

  • 在您的响应中添加一个自定义标头,告诉最终用户该内容是只读的。像这样的东西:

    GET http://...
    (...)
    Content-type: application/json
    x-readonly: true
    {
        (...)
    }
    
  • 您还可以在 header 中添加一个参数Content-Type。有关此标头的格式,请参阅此链接http://www.ietf.org/rfc/rfc1521.txt(第 9 页)。您可以看到您可以在其中添加参数。这不会破坏 REST 库和框架对其的处理。所以你可以有这样的东西:

    GET http://...
    (...)
    Content-type: application/json; readonly=true
    {
        (...)
    }
    

希望它可以帮助你,蒂埃里

于 2015-03-27T17:20:36.540 回答
-1

也许你可以使用状态码来解决这个问题? http://en.wikipedia.org/wiki/List_of_HTTP_status_codes

于 2015-03-27T16:44:47.790 回答