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 超文本媒体类型都不支持表单上的 ifmatch
或 etag
。
这将否定客户端尝试然后失败然后 GET 然后再试,或者首先 GET 另一个资源或者知道并记住从另一个位置保留 ETag 的需要。
不确定这是疏忽还是我疯狂地发布到无法查看的资源位置。
发布到可见内容的问题 URL 是明显的额外代码,只是为了支持这种情况。
然后,如果发布到存在且具有其他实用程序的 URL,允许发布其他内容,则必须区分传入数据的 "shape" 以便路由到正确的处理代码。
如果在表格中预先填充 ifmatch
,整个事情似乎会简单得多。
所以,问题:
我是否应该将我的超媒体控件(表单)设计为具有预填充的 ifmatch
元素?
在输入此内容并根据 HTML 构建框架时,我进行了一些谷歌搜索,实际上找到了有用的资源。
http://amundsen.com/examples/put-delete-forms/
迈克以 HTML 的形式求婚 if-match
和 if-not-match
!
考虑到我使用 HTML 作为我的 REST API 媒体类型,它可能是 JSON 没关系。
HTML 有一个很好理解的 <form>
元素,其中有一个 action
和一个 method
。但是如果我发布到资源位置并且我想防御并发更新,客户端将需要提供一个 If-Match。
我发布的 URL 不能用 GET 或 HEAD 检索,因此客户端无法获得最新的 ETag。
我注意到 HTML 和 JSON Ion 超文本媒体类型都不支持表单上的 ifmatch
或 etag
。
这将否定客户端尝试然后失败然后 GET 然后再试,或者首先 GET 另一个资源或者知道并记住从另一个位置保留 ETag 的需要。
不确定这是疏忽还是我疯狂地发布到无法查看的资源位置。
发布到可见内容的问题 URL 是明显的额外代码,只是为了支持这种情况。
然后,如果发布到存在且具有其他实用程序的 URL,允许发布其他内容,则必须区分传入数据的 "shape" 以便路由到正确的处理代码。
如果在表格中预先填充 ifmatch
,整个事情似乎会简单得多。
所以,问题:
我是否应该将我的超媒体控件(表单)设计为具有预填充的 ifmatch
元素?
在输入此内容并根据 HTML 构建框架时,我进行了一些谷歌搜索,实际上找到了有用的资源。
http://amundsen.com/examples/put-delete-forms/
迈克以 HTML 的形式求婚 if-match
和 if-not-match
!