用于 REST 删除的DSTU是简单发送,DELETE [base]\[type]\[id]
.
但是,如果服务器实现版本感知更新怎么办?我还需要发送Content-Location
HTTP 标头吗?如:
DELETE ...\Patient\123
Content-Location: ...\Patient\123\_history\4
还是 DELETE 隐式应用于资源的当前版本?
指出您希望删除哪个版本当然是有意义的,特别是因为您仍然可以更新资源以“取消删除”它,所以我们在这里讨论多个版本。但是,Content-Location 标头的定义指出:
Content-Location entity-header 字段可以用于为包含在消息中的实体提供资源位置
并且使用 DELETE,我们不会对实体进行编码。所以,我想知道这是否被允许。不过,值得在 HL7 FHIR 站点和/或 gForge 上讨论这个问题。
据我所知,正如您在问题中所说,FHIR 并不意味着版本感知删除操作。事实上,DELETE 操作仅意味着您的资源不会被 SEARCH 或 READ 操作检索。也就是说,鉴于您的服务器实现了非标准操作,您可以通过删除该特定版本来回答对版本 url 的 DELETE 请求。
让我说,恕我直言,更改资源历史与任何更改都应可跟踪的理念背道而驰。见http://www.hl7.org/implement/standards/fhir/security.html#audit