使用REST原则和HTTP标头,我想告诉我的客户我的回复是READ-ONLY。我的内容类型是text / plain。我的一些回复是READ-ONLY而另一些则不是,而且我的客户无法区分它,直到他做了PUT并且它出错,导致糟糕的用户体验。
我是否需要将Content-Type设置为text / vnd.read-only或application / octet-string?
答案 0 :(得分:3)
通常,客户端会向资源发出HTTP OPTIONS请求。如果PUT列在"允许"标题,然后可以修改资源。
如果存在application / JSON的Content-Type响应,则可以将字段添加到JSON元数据中,该字段将有效负载标记为READ-ONLY。
答案 1 :(得分:0)
我认为没有专门的HTTP标头。
尽管如此,我认为有两种可能性可以在您的回复中提供此提示:
在您的回复中添加自定义标题,告知最终用户该内容是只读的。这样的事情:
GET http://...
(...)
Content-type: application/json
x-readonly: true
{
(...)
}
您还可以在标题Content-Type
中添加参数。有关此标题的格式,请参阅此链接http://www.ietf.org/rfc/rfc1521.txt(第9页)。您可以看到可以在其中添加参数。这不会破坏REST库和框架的处理。所以你可以有类似的东西:
GET http://...
(...)
Content-type: application/json; readonly=true
{
(...)
}
希望它可以帮到你, 亨利
答案 2 :(得分:-1)
也许你可以使用状态代码来解决这个问题? http://en.wikipedia.org/wiki/List_of_HTTP_status_codes