只读REST中的字段

时间:2012-10-27 16:40:22

标签: rest

我有一个模型,我通过REST接口公开。在此模型的生命周期过程中,某些字段将变为只读字段,而其他字段将保持可编辑状态。

我很高兴在服务器端处理这个问题(as per this question) - 我希望客户端发送所有数据,如果他们尝试更改读取,我将返回HTTP错误409只有字段。

但是,客户端如何/应该发现字段是否只读以允许其禁用输入?

2 个答案:

答案 0 :(得分:0)

好吧,您似乎需要一种方法让客户不仅获取数据,还获取有关数据的数据,即元数据。如果主数据可以通过REST URL和/ container / resourceid一起使用,您可以将元数据想象为/ metadata / container / resourceid,或者/ container / resourceid?format = meta

答案 1 :(得分:0)

@JimmyP

这是一个简单的例子:

*** Request ***
GET /resource/12 HTTP/1.1
Host: service.org

*** Response ***
HTTP/1.1 200 Ok
Content-Type: …
Content-Length: …
Link: </resource/12/edit-form>; rel="edit-form"; type="text/html"

[Entity Body Goes Here]

注意以下细节:

如果客户端可以识别链接头和“rel”属性的值,那么它可以获取编辑资源并确定需要发回的字段。当然除了数据元素(即字段)之外,“表单”还可以表示提交URI,数据编码类型,HTTP方法等......