删除的理由

问题描述 投票:0回答:1

对于将被删除的资源,最终使用软删除(Isdeleted Flag),我希望提供一个与审计目的资源一起存储的理由。

我遇到的选项不觉得不正确。

customhttp标头
    thing tith the tage tithbody
  1. 我还考虑过使用一个put,但是我要放置的内容与构成典型更新中资源的内容不同。 从宁静的角度来看,哪种方法最有意义?
delete

具有身体是错误的,因为它不尊重HTTP规范中定义的均匀界面的语义。

在删除请求中收到的内容没有通常定义的语义,无法改变请求的含义或目标,并且可能导致某些实施方式拒绝请求并关闭连接,因为其潜力作为请求走私攻击

rest api-design
1个回答
4
投票
注意,此处使用的拼写与

get请求的有效载荷相同。 commant上,删除是正确的选择;软与硬删除是“超出规范范围”,也就是说这是一个实现选择。 但是传达“原因”给您两个问题要解决。 一个是把这个原因放在哪里,答案当然是用一个标题

可以定义新标头字段,以便当收件人理解它们时,它们可能会覆盖或增强对先前定义的标头字段的解释,根据请求评估定义先决条件,或完善响应的含义。

您可以浏览

Message-Headers注册表
查看是否与您的要求有密切的匹配,但未能定义自己的一个。

第二个问题是弄清楚如何与客户通信,以便知道使用标头字段。 当今最常见的方法是将标题写入API的描述中,但这不是quite休息。

休息的答案是,您的HyperMedia规范描述了服务器如何与客户端传达哪些标题很重要,以及应该放置哪些数据。 想象一个带有“字段值”输入控件的HTML表单,您已经有了正确的想法。

没有很多API会那样做。 tup是一个有趣的选择;规则中没有任何内容说资源只能具有一种内容类型,或者端点只能接受一种内容类型。

实例,

RFC7807定义了应用程序/问题+JSON,这是用于报告服务器问题的简单表示形式。 但是,没有理由无法将应用程序/问题+JSON表示形式放在诱导软删除的资源上。 此规范为您提供了一个

title
元素和

details

元素,因此客户有工作空间。
当然,它不必是应用程序/问题+JSON-您可以指定自己设计的更合适的媒体类型。

,您与使用自定义标头删除的使用相似的问题:client如何发现您的资源支持将删除置于删除?

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.