Hypertext Forms - 超媒体控件中的ETag

Hypertext Forms - ETag in the hypermedia control

考虑到我使用 HTML 作为我的 REST API 媒体类型,它可能是 JSON 没关系。

HTML 有一个很好理解的 <form> 元素,其中有一个 action 和一个 method。但是如果我发布到资源位置并且我想防御并发更新,客户端将需要提供一个 If-Match。

我发布的 URL 不能用 GET 或 HEAD 检索,因此客户端无法获得最新的 ETag。

我注意到 HTML 和 JSON Ion 超文本媒体类型都不支持表单上的 ifmatchetag

这将否定客户端尝试然后失败然后 GET 然后再试,或者首先 GET 另一个资源或者知道并记住从另一个位置保留 ETag 的需要。

不确定这是疏忽还是我疯狂地发布到无法查看的资源位置。

发布到可见内容的问题 URL 是明显的额外代码,只是为了支持这种情况。

然后,如果发布到存在且具有其他实用程序的 URL,允许发布其他内容,则必须区分传入数据的 "shape" 以便路由到正确的处理代码。

如果在表格中预先填充 ifmatch,整个事情似乎会简单得多。

所以,问题:

我是否应该将我的超媒体控件(表单)设计为具有预填充的 ifmatch 元素?

在输入此内容并根据 HTML 构建框架时,我进行了一些谷歌搜索,实际上找到了有用的资源。

http://amundsen.com/examples/put-delete-forms/

迈克以 HTML 的形式求婚 if-matchif-not-match